这是在墙上打印一整首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.");
}
}
}
}发布于 2014-09-03 18:33:27
从循环中间的beerNum中减去一个。
直到下一个循环开始,word才会被设置。
更明确的帮助(例如,扰流器;在考虑过之前不要翻过来):
将计数检查往下移动到循环中。例如,在第一串语句之后,但在诗句的最后一行之前。
https://stackoverflow.com/questions/25651191
复制相似问题