使用if进行判断

时间:2017-05-10 17:12:27

标签: java

请考虑以下代码段:

           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"));

有效。我想知道是否有其他优雅的方法可以做到。

3 个答案:

答案 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);