如何检查是否输入了四个字符串中的一个?

时间:2015-12-28 20:09:42

标签: java if-statement while-loop

我正在寻找一个声明,检查输入是否为:yes,y,no,n。 它也应该忽略是否有大或小的字母。我一直在这里寻找一段时间,但找不到我理解的答案。有没有办法在if语句中添加更多然后只是“是”?

    String result;
    do {
    System.out.print("Bigger the better");
    result = scanner.nextLine();
        if (!("yes".equals(result))) {
            System.out.println("Invalid answer, try again");
        }
    } while(!result.matches("[A-ZÅÄÖa-zåäö]+"));

4 个答案:

答案 0 :(得分:3)

您可以使用

if (result.matches("(?i)Y(es)?|N(o)?")) {
  ...

答案 1 :(得分:0)

您可以使用双管道来调整您的条件||,如下所示:

if (result.equals("yes") || result.equals("no") || result.equals("y") || result.equals("n"))

答案 2 :(得分:0)

通过以下方式将结果设为小写:

result.toLowerCase()

然后你可以通过使用equals()和使用'或'(||)来比较任何字符串(“是”,“否”,“y”,“n”)。 / p>

答案 3 :(得分:0)

result.toLowerCase();

if(result.length()>1 && !result.equals("yes") &&!result.equals("no")){
System.out.println("wrong input");

} else if(result.charAt(0)=='y') {
   System.out.println("good answer");

 }else if(result.charAt(0)=='n') {
   System.out.println("Invalid answer, try again");
}

它将检查以太用户将键入"是"或简单" y",或" no"或简单的" n"