return (input.substring(0, 1).equals(s)) &&
str1.contains(input, true) ||
str2.contains(input, true) ||
str3.contains(input, true)
上面這個我以爲 (input.substring(0, 1).equals(s)) 這裏爲 false的時候,後面都是false了,
事實是,&& 和 || 的優先級是一樣的,第一個&& 完了的結果會和後面的 || 再進行運算!!!
改成這樣可以滿足要求:把後面|| 的部分當成整體括起來!
return (input.substring(0, 1).equals(s)) &&
(str1.contains(input, true) ||
str2.contains(input, true) ||
str3.contains(input, true) )