在while循环期间输出发生两次(Java)

时间:2018-07-09 19:34:24

标签: java

我正在为一个学校项目进行几次测试。每次我运行它时,输出都会被输出两次,虽然没有任何提示,但是我已经尽力了。

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("What is your name?");
    String name = sc.next();
    int x = 5;
    int y = 500;

    while(x>=0){
        System.out.println("You have "+x+" x left.");
        System.out.println("menu\nnext");
        String answer = sc.next();    

        switch (answer){
            case "menu":
                System.out.println("Your name is "+name+".");
                System.out.println(y);
                continue;

            case "next":
                x = (x-1);
                System.out.println (x);
                break;
        }   
    }  
}

当您选择菜单时输出到

您的名字是(名字) 500 菜单 下一个 您的名字是(名字) 500 菜单 下一个

2 个答案:

答案 0 :(得分:0)

我没有两次打印出什么?您的代码看起来不错,您只需要在演示文稿上工作即可。 但是,例如,如果要循环5次,请将循环条件更改为x!= 0或x> 0。因为在您的情况下,循环执行了6次而不是5次。

祝您的项目顺利:)

答案 1 :(得分:0)

尝试一下:-

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("What is your name?");
String name = sc.next();
int x = 5;
int y = 500;

while(x>=0){
    System.out.println("You have "+x+" x left.");
    System.out.println("menu\nnext");
    String answer = sc.next();    

    switch (answer){
        case "menu":
            x = (x-1);
            System.out.println("Your name is "+name+".");
            System.out.println(y);
            continue;

        case "next":
            x = (x-1);
            System.out.println (x);
            break;
    }   
}  
}