首页 > 代码库 > Java 初学 第一弹--编译并运行书上的简单程序(猜数字小游戏)

Java 初学 第一弹--编译并运行书上的简单程序(猜数字小游戏)

   (博主原创)

 

     首先说明一下,博主是大一上学期结束寒假时自己看的Java,然后我看的是Head First Java的中文版,因为大一学了c,所以里面的一些基本思想还是了解的,在看这本书时就浏览了一下(就是那种光看没有自己动手去敲代码的),然后看到书上的一个猜数字小游戏,就想手动敲一下,熟悉熟悉Java的语法,但是真正去做时,发现比看起来要困难一些。

      首先是Java在建立一个源码文件之前要先建一个package,然后我用的Eclipse写的Java(感觉和pycharm风格差不多),再新建一个文件后,输入相应的代码,我第一次输入的代码是这样的

技术分享

技术分享

技术分享

这个是博主第一次的代码,运行时有错误,如下图:

技术分享

在百度之后尝试了几种办法,首先是在GameLaunch这个类前面加了一个stastic;但是又有别的地方报错,错误如下:

技术分享

然后又试了别的办法,但是一直都有报错,最后是舍友的帮忙,才成功解决了这个问题,首先把main前面的类改掉,换成package的名字(当然最前面的那个与package同名的包括所有的类也要去掉),然后把下面的类的前面的public去掉,就可以运行了,附上源代码:

package helloworld;

  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 am thinking 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 guess is "+guessp2);
     
    guessp3 = p3.number;
    System.out.println("Player three guess is "+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 rigt?"+p3isright);
      System.out.println("Game is over!");
      break;
     }
    else {
      System.out.println("Player have to try again!");
    }
   }
  }
 }
 
  class Player{
  int number = 0;
  
  public void guess(){
   number = (int)(Math.random()*10);
   System.out.println("I am guessing "+number);
  }
 }
 public class helloworld{
  public static void main(String[] args){
   GuessGame game = new GuessGame();
   game.startGame();
  }
 }

 

 最后运行结果如下:

技术分享

技术分享

  所以,一个简单的Java程序就运行成功了。

 

  我总结了一下,书上给的代码示例在实际运行时会出错可能是因为书上的代码是按照OJ上面提交Java代码的格式来写的,但是自己写的时候还要考虑自己建的文件,所以需要作出相应的改动。(博主是新手,各位大佬不要见怪)

 

Java 初学 第一弹--编译并运行书上的简单程序(猜数字小游戏)