为了账号安全,请及时绑定邮箱和手机立即绑定

Head first java中猜数字游戏的原理

package book.java;

public class Guessgame {
	/**
	 * 首先创建三个玩家对象
	 */
	Player p1;
	Player p2;
	Player p3;
	
	
	public void startGame(){
		p1=new Player();
		p1=new Player();
		p1=new Player();
		//定义三个变量用来保存玩家猜测的值
		int a;
		int b;
		int c;
		
		//系统随机生成数字
		int targetNum=(int) (Math.random()*10);
		System.out.println("系统给出需要玩家猜测的数据");
//		while(true){
			System.out.println("待猜的数字为:"+targetNum);
			
			//此时应该调用定一个guess方法,用来给出玩家定义的数字
			//将该数字如系统给出的数字相匹配,给出true或者false
			
			p1.guess();
			p2.guess();
			p3.guess();
			//将得到的每一个玩家猜测值都赋给一个新值
			
			
			a=p1.num;
			b=p1.num;
			c=p1.num;
			
			
			
			//打印输出每一个玩家的猜测值
			System.out.println("第一个玩家猜测值为:"+a);
			System.out.println("第二个玩家猜测值为:"+b);
			System.out.println("第三个玩家猜测值为:"+c);
			//这里用一个for循环来比较玩家的猜测值和系统随机给出值是否一致
			if(a==targetNum){
				System.out.println("第一个玩家猜测正确");
			
			}else{
				System.out.println("第一个玩家猜测错误");
			}
			if(b==targetNum){
				System.out.println("第二个玩家猜测正确");
			
			}
			else{
				System.out.println("第二个玩家猜测错误");
			}
			if(c==targetNum){
				System.out.println("第三个玩家猜测正确");
			
			}else{
				System.out.println("第三个玩家猜测错误");
			}
			
			
		
	}//方法体结束

}//类结束
package book.java;

public class GameLauncher {

	public static void main(String[] args) {
	Guessgame gg=new Guessgame();
	gg.startGame();
		

	}

}


package book.java;

public class Player {
	int num=0;
	
	//定义一个猜测的方法
	public void guess(){
		num=(int) (Math.random()*10);
		//System.out.println("玩家猜测数字为:"+num);
	}

}



为什么我的p1调用不了guess方法啊?完全打印不出来,求大神看看问题在哪儿?


正在回答

1 回答

估计你创建对象时是直接复制粘贴吧。全将对象赋给p1了。13-15   36-38

0 回复 有任何疑惑可以回复我~
#1

差不多先生1234 提问者

确实啊,我忘记,感谢
2016-04-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530054    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

Head first java中猜数字游戏的原理

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信