JAVA高手帮我解释一下呵,谢谢了……

[复制链接]
查看11 | 回复3 | 2009-3-8 23:44:32 | 显示全部楼层 |阅读模式
class Player//这为什么不能是public class?
{
int number=0;
public void guess(){
number=(int)(Math.random()*10);
System.out.println("I'm guessing"+number);
}
}
public class GameLauncher{
public static void main(String[] args){
GuessGame game=new GuessGame();
game.startGame();
}
}
class GuessGame//这位什么不是public class?
{
Player p1;//player是个类 直接申明实例变量,为什么???????
Player p2;
Player p3;
public void startGame(){
p1=new Player();
p2=new Player();
p3=new Player();
int guessp1=0;
int guessp2=0;
int guessp3=0;
boolean p1isRight=false;
boolean p2isRight=false;
boolean p3isRight=false;
int targetNumber=(int) (Math.random()*10);
System.out.println("I'm thinking of a number between 0 and 9...");
while (true)//这怎么是while (true)呢?????????????
{
System.out.println("Number to guess is"+targetNumber);
p1.guess();
p2.guess();
p3.guess();
guessp1=p1.number;
System.out.println("player one guessed"+guessp1);
guessp2=p2.number;
System.out.println("player two guessed"+guessp2);
guessp3=p3.number;
System.out.println("player three guessed"+guessp3);
if (guessp1==targetNumber)
{p1isRight=true;
}
if (guessp2==targetNumber){
p2isRight=true;
}
if (guessp3==targetNumber)
{p3isRight=true;
}
if (p1isRight||p2isRight||p3isRight){
System.out.println("we have a winner!");
System.out.println("Player one got it right?"+p1isRight);
System.out.println("Player two got it right?"+p2isRight);
System.out.println("Player three got it right?"+p3isRight);
System.out.println("Game is over.");
break;
}else{System.out.println("player will have to try again.");
}
}
}
}

回复

使用道具 举报

千问 | 2009-3-8 23:44:32 | 显示全部楼层
一个java文件里只能有一个public class,并且类名必须和文件名相同 Player p1 是GuessGame的成员变量,在Player p1 中他指向的是一个空;这个对象没有new出来.这只是说p1必为Player对象,while (true)这个比for要好.用for有bug.break;//在这里if (p1isRight||p2isRight||p3isRight)这个条件会退出来。...
回复

使用道具 举报

千问 | 2009-3-8 23:44:32 | 显示全部楼层
一个java文件里只能有一个public class,并且类名必须和文件名相同Player p1 是GuessGame的成员变量,GuessGame没实例化p1是不实例化的while(true)是为了程序不停的执行判断猜的数字...
回复

使用道具 举报

千问 | 2009-3-8 23:44:32 | 显示全部楼层
一个java源文件中只能有一个类的访问权限被声明为public,否则文件命名的时候会冲突.Player p1;//player是个类 直接申明实例变量,为什么??????? p1更准确地说是引用变量,p1是一个引用,指向Player 类型的对象...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行