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代码的格式来写的,但是自己写的时候还要考虑自己建的文件,所以需要作出相应的改动。(博主是新手,各位大佬不要见怪)

 

posted on 2017-01-15 09:10  sxy12138 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/sxy12138/p/6286600.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值