2

我有一个程序,用户应该能够输入多少度,以及在什么规模(摄氏度,华氏度或开尔文)。如果用户希望退出会话,程序应该退出,如果他们写“退出,退出,退出,退出,退出或退出”。我知道如何一次只使用其中一个来编写代码,例如:

System.out.println("Enter your value, followed by the unit (C/F/K) : ");
temp=input.nextLine();

if (temp.contains("exit")) {
    System.out.println("Ending");
    System.exit(0);
}

我希望能够写出类似的东西: if (temp.containsIgnoreCase("exit" || "quit") )

任何人都可以帮助我指导我应该如何修复我的代码吗?我试图在这里搜索它,但没有任何效果,只有当括号内有两个不同的单词时才会出错。

4

3 回答 3

5

尝试将用户输入小写,然后与String#matches

if (temp.toLowerCase().matches("exit|quit")) {
    System.out.println("Ending");
    System.exit(0);
}
于 2018-06-23T09:46:56.207 回答
1

使用 match 查找与 string 的完全匹配。你可以这样:

 String quit = "quit";
    String exit = "exit";
    if(temp.toLowerCase().matches(quit)||temp.toLowerCase().matches(exit)){
            System.out.println("Ending");
System.exit(0);
    }
于 2018-06-23T10:23:30.210 回答
1

蒂姆·比格莱森的答案可能是要走的路。如果你像我一样只是不想使用String.toLowerCase(). 您可以改用Pattern#compile(String, int)不区分大小写的标志:

Pattern pattern = Pattern.compile("exit|quit", Pattern.CASE_INSENSITIVE);
if(pattern.matcher(temp).matches()){
    System.out.println("ending");
    System.exit(0);
}
于 2018-06-23T10:25:09.883 回答