&& || 導致的問題


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) )
       

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章