为什么我的代码运行时我的数字没有显示出来

时间:2014-11-12 15:03:06

标签: java

你将自动播放着名的歌曲“99瓶墙上的XXX”。您将打印歌曲的所有99节经文的歌词。使用循环!如果您不知道歌词,请使用谷歌查找。

该计划应该:

  • 询问用户的年龄

  • 如果用户年满21岁,请询问他们是否喜欢啤酒或苏打水

    一个。如果他们不满21岁或者他们更喜欢苏打水,那么歌词就是“墙上的99瓶汽水”

    湾如果他们超过21岁,那么它是“99瓶啤酒”

  • 你必须使用WHILE LOOP并且计数器变量必须是print语句的一部分!

  • 所以第一节将是:

    墙上有99瓶苏打水

    99瓶苏打水

    如果其中一个瓶子从墙上掉下来

    ......墙上的.98瓶苏打水

  • 最后一节:

    墙上的一瓶苏打水

    1瓶苏打水

    如果那瓶单独的汽水应该从墙上掉下来

    墙上没有苏打水瓶!

所以想想,你需要在你的循环中添加什么来打印最后一节,歌词略有不同?

//这是我的代码。当我运行时,瓶子的数量从12开始,而不是99 我该如何解决这个问题?

Scanner user = new Scanner(System.in);

           int age, beverage;


           System.out.println("Please type in your age");
           age = user.nextInt();

           user.nextLine();
           System.out.println("Would you like soda or beer? soda=1 beer=2");
           beverage = user.nextInt();

        if(age<21 || beverage==1)
           {
           int bottles = 99;
            while( 1< bottles){
                System.out.println(bottles+" of soda on the wall");
                System.out.println(bottles+" bottles of soda");
                System.out.println("If one of those bottles should fall off the wall");
                bottles--;
                System.out.println("..."+bottles+" bottles of soda on the wall");
            if(bottles==1){
                System.out.println(bottles+" of soda on the wall");
                System.out.println(bottles+" bottles of soda");
                System.out.println("If that lone bottle of soda should fall off the wall");
                System.out.println("No bottles of soda on the wall");
            }
        }
    }
        if(age>=21 && beverage == 2)
        {
            int bottles=99;
            while(1< bottles){
                System.out.println(bottles+" of beer on the wall");
                System.out.println(bottles+" bottles of beer");
                System.out.println("If one of those bottles should fall off the wall");
                bottles--;
                System.out.println("..."+bottles+" bottles of beer on the wall");
            if(bottles==1){
                System.out.println(bottles+" of beer on the wall");
                System.out.println(bottles+" bottles of beer");
                System.out.println("If that lone bottle of beer should fall off the wall");
                System.out.println("No bottles of beer on the wall");
            }
        }
    }

        }
    }

1 个答案:

答案 0 :(得分:0)

您的代码 开始使用99瓶打印。如果您只看到最后12瓶,那么输出控制台就会出现问题。尝试进一步向上滚动,或尝试使用其他控制台,或尝试将其重定向到文件(添加&#34;&gt; output.txt&#34;到您的命令行调用,然后检查ouput.txt的内容)。< / p>