Java中的简单的Do-while循环

时间:2020-04-23 11:27:21

标签: java do-while

我要运行循环并继续接受字符串输入,直到按下“ x”为止。我正在尝试执行do-while循环,但是它没有进入循环,它只运行一次。

Scanner sc = new Scanner(System.in);
String name;

do {
    System.out.print("Enter name or 'x' to quit: ");
    name = sc.next();

    if (name.equals("x")) {
        break;
    }

    System.out.printf("The name is %s", name);

} while (name.equals("x"));

3 个答案:

答案 0 :(得分:4)

您需要删除if条件,以便它不会及早退出循环并修改中断条件,例如:

Scanner sc = new Scanner(System.in);
String name;

do {
    System.out.print("Enter name or 'x' to quit: ");
    name = sc.next();

    System.out.printf("The name is %s", name);

} while (!name.equals("x"));

答案 1 :(得分:2)

当按下“ x”时,它将继续循环播放。所以您做了完全相反的事情。
添加感叹号以消除您的while状况:

-Doracle.jdbc.ReadTimeout=600000 -Dweblogic.Chunksize=65535 -Dweblogic.jndi.responseReadTimeout=120000 -Dweblogic.jndi.connectTimeout=120000 -Dweblogic.UseEnhancedIncrementAdvisor=false

答案 2 :(得分:1)

我可能遗漏了一些东西,但似乎您的代码与之矛盾。 您读取用户输入,然后检查它是否等于x并在这种情况下中断了循环。如果不是,则继续执行while语句,在该语句中再次检查x是否具有相同条件。 因此,总而言之,您需要为运行条件而中断循环。

您可能想尝试,将while语句中的条件更改为

while (!name.equals("x"))