我的主菜单位于while循环内,用于检查用户是否要退出。
while(!sc.hasNext("quit")){
...}
我可以使hasNext()不区分大小写,因此用户可以在单词'quit'中键入任何案例变体,例如QuIt或quIt吗?
答案 0 :(得分:1)
我相信String模式" ^(?i)退出$"传递给sc.hasNext(String)
将有效。
final String QUIT_PAT = "^(?i)quit$";
...
while (! sc.hasNext(QUIT_PAT)) {
...
}
我没有设置简单的扫描仪进行测试,但正则表达式应该可以正常工作。
但是,我建议read this answer建议在使用stdin时嵌入检查可能不是最佳方法。
答案 1 :(得分:0)
解决这个问题的一种方法是通过获取用户输入并自动将sting中的所有字符发送到大写或小写,然后检查。那么用户放入的内容并不重要。
String str1 = new String();
str1 = scanner.nextLine();
str1.toUpperCase();
while(str1.equals("QUIT")){....}