使用if进行判断

use*_*170 1 java

请考虑以下代码段:

           String msg = null;
            do {
                msg = login();
            } while (!msg.equals("OK"));
Run Code Online (Sandbox Code Playgroud)

我想,当在控制台中显示消息msg是从不同的"OK",例如:ERROR, Try again...!.我这样做了:

        String msg;
        do {
            msg = login();
            if(!msg.equals("OK")){
                System.out.println("ERROR, Try again...!");
            }
        } while (!msg.equals("OK"));
Run Code Online (Sandbox Code Playgroud)

有用.我想知道是否还有其他优雅的方法可以做到这一点.

Bog*_*kyi 6

String msg;
while (!(msg = login()).equals("OK")) {
    System.out.println("ERROR, Try again...!");
}
Run Code Online (Sandbox Code Playgroud)

甚至

while (!login().equals("OK")) {
    System.out.println("ERROR, Try again...!");
}
Run Code Online (Sandbox Code Playgroud)