【问题标题】:While loop not exiting in my code虽然循环没有在我的代码中退出
【发布时间】:2014-11-09 17:35:54
【问题描述】:

当我输入“não”或“nao”时,我需要结束循环,但它永远不会结束。

代码如下:

do {
        System.out.println("Digite o primeiro valor a ser trocado:");
        t1.setValor1(input.nextInt());

        System.out.println("Digite o segundo valor a ser trocado:");
        t1.setValor2(input.nextInt());

        t1.trocarValores(t1.valor1, t1.valor2);
        System.out.println(t1);
        input.nextLine();

        System.out.println("\nVoce gostaria de trocar outro número? Digite 'sim' ou 'não'.");
        parar = input.nextLine();
    }while(!"não".equalsIgnoreCase(parar) || !"nao".equalsIgnoreCase(parar));

如果我切断“(!”não“.equalsIgnoreCase(parar)”并只留下“!”nao“。equalsIgnoreCase(parar)”,它可以工作,但我不知道为什么._。

谢谢大家!

好吧,看来问题出在 ||和我的“não”中的“~”,那么现在,我该如何修复“~”?我希望它与确切的“não”一起使用。谢谢!

【问题讨论】:

    标签: java loops while-loop equals do-while


    【解决方案1】:

    改变

    while(!"não".equalsIgnoreCase(parar) || !"nao".equalsIgnoreCase(parar));

    while(!"não".equalsIgnoreCase(parar) && !"nao".equalsIgnoreCase(parar));

    "não" or "nao" 的反义词是not "não" and not "nao"

    【讨论】:

    • 当我输入“não”时它仍然不起作用,如果我输入“nao”它只会停止循环:/
    • 可能是'ã' char 你的问题?
    • 我尝试输入“否”并且它起作用了,所以我猜这是问题所在,但现在我该如何解决?
    【解决方案2】:

    while(!("não".equalsIgnoreCase(parar) || "nao".equalsIgnoreCase(parar)));

    【讨论】:

    • 当我输入“não”时它仍然不起作用,如果我输入“nao”它只会停止循环:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 2023-01-15
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多