public class GuessGame{
Player p1;
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)
{
System.out.println("Numbers 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("Players will have to try again");
} }
}
}
public class Player{
int number=10;
public void guess(){
number=(int)(Math.random()*100);
System.out.println("I'guessing"+number);
}
}
public class GameLauncher{
public static void main(){
GuessGame game=new GuessGame();
game.startGame();
}
}
//显示错误为1.类GuessGame是公共的,应在名为GuessGame.java文件中声明。2.类Player是公共的,应在名为Player.java文件中声明
Player p1;
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)
{
System.out.println("Numbers 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("Players will have to try again");
} }
}
}
public class Player{
int number=10;
public void guess(){
number=(int)(Math.random()*100);
System.out.println("I'guessing"+number);
}
}
public class GameLauncher{
public static void main(){
GuessGame game=new GuessGame();
game.startGame();
}
}
//显示错误为1.类GuessGame是公共的,应在名为GuessGame.java文件中声明。2.类Player是公共的,应在名为Player.java文件中声明
一个.java文件里面只能有一个public class XXX{}要么抽出其中一个写在另外一个.java文件里,要么去掉不与.java文件名不相同的那个类的public关键字
在一个java文件中只应把与文件名相同的类定义为public的。并且这个类一般应含有main方法。
估计是在一个文件里存放了上面的两个类,编译器不认的,
要么分开到不同的文件中,要么改下访问控制符....
你三个类写在一个文件里,而且GuessGame类和Player类都加了pubic 修饰符,所以会出现上面的提示,你可以将GuessGame类和Player类前面的pubic修饰符去掉。
你的main方法写错了:应该为public static void main(String[] args){...}