尝试在Eclipse中执行布尔方法时出错

时间:2015-07-30 11:54:07

标签: java eclipse

我正在使用“Head First Java Second Edition”这本书来使用该语言但是在Eclipse中键入示例时,它不会让我使用布尔方法而不会出错。使用Eclipse使用Java初始化Boolean方法的正确方法是什么?这就是我输入的内容:

public class BeerSong {
    public static void main (String [] args) {
        int beerNum = 99;
        String word = "bottles";

        While (beerNum > 0);


            If (beerNum == 1); {
                word = "bottle";
            }

            System.out.println(beerNum + " "+ word + " of beer on the wall");
            System.out.println(beerNum + " "+ word + " of beer.");
            System.out.println("Take one down.");
            System.out.println("Pass it around.");
            beerNum = beerNum - 1;

            If (beerNum > 0); {
                System.out.println (beerNum + " " + word + " of beer on the wall");
            } else {
                System.out.println("No more bottles of beer on the wall");
          } 

        }
    }
}

1 个答案:

答案 0 :(得分:4)

whileif是正确的拼写(没有大写)。也不要附加" ;"在if之后,因为该结束是块。

if (beerNum > 0) {
    System.out.println (beerNum + " " + word + " of beer on the wall");
} else {
    System.out.println("No more bottles of beer on the wall");
} 

注意第一个if块的行中缺少分号。其他if和while语句中的分号也是如此。

如果(...)执行以下块,但分号使其成为空块,因此......

if ( something ); { 
    doSomething 
}

相当于......

if (something ) {
  // do absolutely nothing here
}
doSomething;

...因为if块执行&#34 ;;" (没有,而不是doSomething块),然后,在任何情况下,执行具有doSomething的块。因此,在ifwhile

之后没有分号