硬币翻转代码错误/问题

时间:2013-01-04 22:41:06

标签: java

所以..我正在努力学习更多的Java,并决定创建一个简单的头/尾硬币翻转,但似乎无法让它工作。使用“令牌上的语法错误”,“else”,“{”,但在行尾我已经有{。任何人都可以向我解释这个吗?或者我做错了什么?感谢

import java.util.Random;

class CoinFlip {
    static int flip;
    public static void main(String[] args) {
    coin();
    }

    static void coin() {
    Random rand = new Random();
    flip = rand.nextInt(2);
    System.out.println("You flipped a " + flip);
    heads(flip);
    }

    static void heads(int flip) {
    if (flip == 1)
        System.out.println("Heads");
    }

         else if (flip == 2) {
         System.out.println("You win! Congratulations!");
         }  
      }
}

3 个答案:

答案 0 :(得分:2)

您错过了if statement

大括号
 if (flip == 1) {
        System.out.println("Heads");
    }

答案 1 :(得分:2)

这一行: if (flip == 1)

应更改为:

if (flip == 1){

那应该解决它!

答案 2 :(得分:2)

正如其他答案所示,您错过了if声明的开场大括号。我只想补充一些其他的建议。

  • 考虑通过缩进方法中的代码部分来正确格式化代码。这样做会使一切更具可读性(并帮助您找到这样的错误!)。某些IDE(如Eclipse)可以为您自动格式化代码。

  • 为什么不让flip成为booleantrue为头,false为尾。对于此变量,boolean是更合适的类型。如果您进行了更改,则可以使用Random的{​​{1}}方法代替nextInt

如果您进行了第二个项目符号中提到的更改,则可以将if重写为

if (flip) {
    System.out.println("Heads");
} else {
    System.out.println("You win! Congratulations!");
}

我认为更清楚。