这是在墙上打印出99瓶啤酒的完整歌曲的代码。我是从一本书中得到的。我刚开始。代码没问题,运行正常。只有一个轻微的打嗝。当它下降到1瓶时,它第一次说“瓶子”。 if语句似乎没有在该行或类似的东西上生效。我的问题是:是什么导致它在前1行中成为复数?
public class bottle {
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.");
}
}
}
}
答案 0 :(得分:0)
在循环中间从beerNum
中减去一个。
word
在 next 循环开始之前未设置。
更明确的帮助(例如,剧透;在您考虑之前不要翻身):
将计数检查进一步向下移动到循环中。
例如,在第一批陈述之后,但在该节的最后一行之前。