作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在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/
我是一名优秀的程序员,十分优秀!