我正在努力解決一個問題,我正在創建一個虛擬人機界面,可以與計算機通話,它會響應您的意見。所以我去了一個字符串,並把它切成文字(split()
函數),都很簡單。知道我是否希望PC在字符串中包含某些單詞時作出響應,但事實並非如此。當我放入包含「hi」,「how」或「you」的字符串時,它會不斷終止程序。我粘貼了下面的代碼片段。如何在if語句中讀取多個.equals語句
String responseP1 = userInput.next();
String[] response1 = responseP1.split(" ");
for (int I = 0; I<response1.lenght; I++){
if (response[I].equalsIgnoreCase("hi")
&& response[I].equalsIgnoreCase("how")
&& response[I].equalsIgnoreCase("you")){
System.out.println("It works")
}
}
有什麼建議嗎?
請改變'I'到'i'在循環,這是奇怪:/ – Maroun 2014-11-02 09:16:31
'response [I] .equalsIgnoreCase(「hi」)&& response [I] .equalsIgnoreCase(「how」)&& response [I] .equalsIgnoreCase(「you」)''可以更簡潔地寫成'false' 。 – 2014-11-02 09:18:35
a == b&& a==c;當b!= c時,整個表達式的計算結果爲false,並且if的主體從不計算。要了解更多,請研究[二元布爾代數](http://en.wikipedia.org/wiki/Two-element_Boolean_algebra) – YoYo 2014-11-02 09:30:39