我正在寻找一个声明,检查输入是否为: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åäö]+"));
答案 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"