作为标题,我希望它在输入特定关键字时退出循环。
try {
buf = br.readLine();
while (buf != "doh") {
buf = br.readLine();
}
}
两个问题:
当我
doh
从命令提示符输入时,它不会退出循环。如果我
"buf != null"
说它只有在我按Ctrl+时才有效Z。如果我什么都不输入(只需按回车键)它不会退出循环。
作为标题,我希望它在输入特定关键字时退出循环。
try {
buf = br.readLine();
while (buf != "doh") {
buf = br.readLine();
}
}
两个问题:
当我doh
从命令提示符输入时,它不会退出循环。
如果我"buf != null"
说它只有在我按Ctrl+时才有效Z。如果我什么都不输入(只需按回车键)它不会退出循环。
使用equals
方法而不是!=
. 仅当对对象的引用不相同时,运算符!=
才会返回 true。方法equal
将逐个字符地比较字符串。
您不应该将字符串(和一般的对象)与==
仅用于基元(int
、char
等boolean
)的字符串(和一般对象)进行比较。对于对象,您使用equals
方法。
try {
buf = br.readLine();
while (! buf.equals("doh")) {
buf = br.readLine();
}
}