我有一个程序,用户可以在该程序中键入多少度和多少比例(摄氏度,华氏度或开尔文)。如果用户希望退出会话,则当他们编写“退出,退出,退出,退出,退出或退出”时,程序应退出。我知道如何一次只使用其中之一进行编码,例如:
You can use ternary operator to accomplish this task:
<?php
$curmonth = mktime(0, 0, 0, date('m'), 1);
$this_month = mktime(0, 0, 0, date('m'), 1, date('Y'));
for ($i = 0; $i < 6; ++$i) {
echo '<a href="?d=';
echo date('Y-m', strtotime($i.' month', $this_month));
echo '" role="button" '.(($i==0)?'class="active btn btn-sm btn-warning"':'class="btn btn-sm btn-warning"');
echo '">';
echo date('F', strtotime($i.' month', $this_month));
echo '</a>';
}
?>
我希望能够编写如下内容: if(temp.containsIgnoreCase(“ exit” ||“ quit”))
有人可以为我提供一些有关如何修正代码的准则的帮助吗?我曾尝试在此处进行搜索,但实际上没有任何作用,只有当括号内有两个不同的单词时,我才会出错。
答案 0 :(得分:6)
尝试小写用户输入的内容,然后与String#matches
进行比较:
if (temp.toLowerCase().matches("exit|quit")) {
System.out.println("Ending");
System.exit(0);
}
答案 1 :(得分:1)
使用匹配项来查找与string完全匹配的项。你可以这样:
String quit = "quit";
String exit = "exit";
if(temp.toLowerCase().matches(quit)||temp.toLowerCase().matches(exit)){
System.out.println("Ending");
System.exit(0);
}
答案 2 :(得分:1)
Tim Biegeleisen的答案可能是正确的方法。如果您像我一样,只是不想使用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);
}