我正在编写代码以输出“墙上的99瓶啤酒”程序。我正在尝试说“墙上有1瓶啤酒”。而不是瓶子。我不确定我的代码有什么问题。任何帮助,将不胜感激。

public class BeerOnTheWall {

public static void handleCountdown() {

    int amount = 99;
    int newamt = amount - 1;
    String bottles = " bottles";

        while(amount != 0) {

            if(amount == 1) {
                bottles.replace("bottles", "bottle");
            }

        System.out.println(amount + bottles +" of beer on the wall, "
                + amount + bottles +" of beer! You take one down, pass it around, "
                + newamt + " bottles of beer on the wall!");
        amount--;
        newamt--;



    }



    System.out.println("Whew! Done!");
}

public static void main(String args[]) {
    handleCountdown();
}


}


我有一个if语句,它假定检查int的“数量”是否等于1,然后将“瓶”替换为“瓶”。

有什么帮助吗?

谢谢。

最佳答案

String#replace返回修改后的String,因此您需要替换:

if(amount == 1) {
    bottles.replace("bottles", "bottle");
}


与:

if(amount == 1) {
    bottles = bottles.replace("bottles", "bottle");
}


请参见the documentation

10-07 19:23