Java - 永不退出 While 循环

标签 java eclipse while-loop

正在尝试在java中创建一个文件系统/文件命令器,并且我想让以下循环成为一个在我键入dc时触发的退出系统。

public static void main(String[] args) 

 boolean x; x=true;
 String dc; dc="dc";    
    while (x=true) {

        System.out.println("_____________________");
        System.out.println("local disk C:");
        System.out.println("bin");      
        System.out.println("_____________________");
        String ltstcmdddd; ltstcmdddd = ltstcm.nextLine();
        if (ltstcmdddd==dc) {
            break;

        }
    }

So 这是文件命令器的代码,它是游戏的一部分,因此 ltstcm 是一个扫描器,lstcmd 是一个用于输入游戏命令的字符串(无法重新定义) -使用它,我一直添加d。),就像我之前说过的,当我写dc时我想离开这个循环,我做了一个if检查lstcmdddd,我尝试检查if (lstcmdddd=="dc")但这不起作用。我怀疑在发现“break”后更改 boolean 值 x 的值将不起作用,但失败了。然后我尝试定义包含“dc”的字符串 dc,但这也不起作用。我在 Stack Overflow 上搜索了有关退出循环、退出循环失败以及在正确定义变量后更改值的信息。与我的问题无关,我无法挽救来解决问题。 (我不是在问比较!)

最佳答案

不能对字符串使用==比较,必须使用.equals,即:lstcmdddd.equals("dc").

在 Java 中,字符串是对象,因此不能使用双等于运算符来比较它们。然而,当您这样做时,您的条件将始终返回 false,并且break语句将永远不会执行。

关于Java - 永不退出 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53408430/

相关文章:

java - URL 百分比编码查询参数 Bing API Java

java - 如何按顺序迭代PriorityBlockingQueue

Java在Eclipse中打开现有项目

Eclipse 找不到主类

python - 通过不在主脚本中的方法更新 Qt 界面中的文本

java - 如何避免 @SuppressWarnings({ "unchecked", "rawtypes"}) 无处不在?

python - Eclipse 中的 PyDev 交互式 Python Shell

c - 如何防止系统在看门狗定时器任务启动前挂起

c# - 测试以确保用户输入是 double 且大于零?

java - 在java中解析速度变量