2016-05-17 64 views
-2
public boolean healthy() 
    { 

     if(organic) 
     { 

     if(toppings<=3) 
     { 
      if((size=="small")) 
      { 
       return true; 

      } 
      else 
      { 
       return false; 
      } 
     } 
     } 

     else 
     { 
     return false; 
     } 

    } 

該程序說我缺少最後一個括號前的return語句。但是如果我要在那裏放置一個,那麼布爾值總是會有一個答案,這將是真實的和錯誤的。這使得所有其他'if'語句都無法使用,這是一個問題。任何幫助?Return Statement Missing

+0

真或假**不同時 –

+4

什麼,如果'澆頭<= 3'是假 –

+0

作爲@FastSnail說..那就是尿失蹤你的返回聲明.. – choz

回答

4

幫助杜絕惡意代碼

public boolean healthy() { 
    return (organic && toppings <= 3 && size === "small"); 
} 

你的代碼沒有else分支上toppigs <= 3這可能導致返回沒有價值。

而且,從來不寫這樣的東西

if (something < 2) { 
    return true; 
} 
else { 
    return false; 
} 

相反,只寫

return something < 2; 
+0

宛如一股清新的空氣。那麼......除了括號,但我不是挑剔的人*(我是誰在開玩笑?)* – shmosel

+0

括號是可選的是,但我認爲他們可以幫助一點,長邏輯鏈的可讀性。完全可選,請'em'或離開'em^_ ^。 – naomik

+2

哦,這是'java',而不是'javascript',所以'size.equals(「small」)'。 – shmosel