在java中进行比较

时间:2016-10-02 02:05:43

标签: java do-while

假设角色变量已初始化,我需要知道如何重复该循环,而变量角色与这三个字符串中的任何一个不同,通过.equals(),通常使用单个字符串。

do {    
    System.out.println("Input role");
    System.out.println("Administrator / Client / User");
    role=reader.stringReader();
    role=role.toLowerCase();
} while (role!="administrator" || "client" || "user");

2 个答案:

答案 0 :(得分:1)

首先创建一个这样的方法:

private static boolean isMatch(String input) {
  String[] goodInputs = new String[]{"administrator","client","users"};
  for (int i = 0; i < goodInputs.length; i++) {
    if (input.equals(goodInputs[i])) return true;
  }
  return false;
}

然后你的代码看起来像这样

do {    
  System.out.println("Input role");
  System.out.println("Administrator / Client / User");
  role=reader.stringReader();
  role=role.toLowerCase();
} while (!isMatch(role));

答案 1 :(得分:0)

假设您要检查role!="administrator" && role!="client" && role!="user是否使用:

   //role=role.toLowerCase();
} while ( ! role.equalsIgnoreCase("administrator") &&
          ! role.equalsIgnoreCase("client") &&
          ! role.equalsIgnoreCase("user")
          );