为什么java代码里有main函数,运行时却说没有main函数,附上代码,没有提示错误,但不能运行!急求答案!

package thirtynine;

public class GuessGame {
Player p1;
Player p2;
Player p3;
public void start(){

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("im thinking of a number between 0 and 9...");
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 hava 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?"+p1isright);
System.out.println("Game is over");
break;
}
else{
System.out.println("Players will hava try again");
}
}
}

public class Player {
int number=0;
public void guess(){
number=(int)(Math.random()*10);
System.out.println("im guessing"+number);
}
}

public class GameLauncher{
public void main(String[] args){
GuessGame game=new GuessGame();
game.start();
}

}
}

public void main(String[] args){ ... } 缺少 static

改成这样 public static void main(String[] args){ } main是启动的入口,此时还没有对象呢, static方法是和对象无关的, 所以能够执行main()追问

刚刚解决了!谢谢回答!

追答

如果上面的三个class都在一个文件中, 把有main的那个class 设置public , 其他的 private class
运行的应该是GameLauncher这个类

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-02
public static void main(String[] args),你的少了个static追问

谢谢回答!

第2个回答  2015-04-02
注意静态函数呀大哥追问

解决了,刚刚,谢谢回答

第3个回答  2015-04-02
你这么多代码全是在一个java文件中吗追问

额,,,是的,新手上路,还不知道怎样分开,不过问题已经解决了!谢谢回答

相似回答