请考虑以下代码段:
String msg = null;
do {
msg = login();
} while (!msg.equals("OK"));
我想在msg
与"OK"
不同时在控制台中显示消息,
例如:ERROR, Try again...!
。我这样做了:
String msg;
do {
msg = login();
if(!msg.equals("OK")){
System.out.println("ERROR, Try again...!");
}
} while (!msg.equals("OK"));
有效。我想知道是否有其他优雅的方法可以做到。
答案 0 :(得分:6)
String msg;
while (!(msg = login()).equals("OK")) {
System.out.println("ERROR, Try again...!");
}
甚至
while (!login().equals("OK")) {
System.out.println("ERROR, Try again...!");
}
答案 1 :(得分:1)
您可以使用以下内容编辑您的代码:
while (!login().equals("OK")) {
System.out.println("ERROR, Try again...!");
}
答案 2 :(得分:1)
一种选择是打破循环而不是使用条件子句。这样可以避免重复检查:
String msg;
do {
msg = login();
if (msg.equals("OK")) {
break;
}
System.out.println("ERROR, Try again...!");
} while (true);