2013-04-06 43 views
0

我在嘗試這個問題,我遇到了這個錯誤返回較大的數字

這是如放錯位置{可能由多種問題引起的一個非常普遍的語法錯誤,}括號或Java的順序不正確關鍵字/運營商。有時錯誤不在所指示的線上,而是在前一線上。

illegal start of expression 
if(num1>(num2+num3)) ||(num2>(num1 +num3)) || (num3 >(num1 + num2)) { 

收件主導的方法,其接受三個整數作爲參數和 返回true,如果三個整數中的任一個是比其他兩個整數的和 大。整數可以以任何順序傳遞, ,所以最大的值可以是三者中的任何一個。如果沒有任何值比其他兩個值的總和大 ,那麼你的方法應該返回false。

例如,顯性(4,9,2)的調用將返回true,因爲9 大於4 + 2。顯性(5,3,7)的調用將返回錯誤 ,因爲沒有那些三個數字大於 其他數字的總和。你可能會認爲沒有一個數字是負數。

我嘗試:

public boolean dominant(int num1,int num2,int num3){ 
    if(num1>(num2+num3)) ||(num2>(num1 +num3)) || (num3 >(num1 + num2)) { 
     return true; 

    }else{ 
     return false; 
    } 
} 
+0

那麼,什麼是錯誤???? – OldProgrammer 2013-04-06 16:48:25

回答

0

你封閉的if語句if(num1>(num2+num3))。嘗試圍繞另一組括號中的整個事情。

public boolean dominant(int num1,int num2,int num3){ 
    if((num1>(num2+num3)) ||(num2>(num1 +num3)) || (num3 >(num1 + num2))) { 
     return true; 

    }else{ 
     return false; 
    } 
} 
0

問題是與你的if(條件)。您可以改正它,如下圖所示:

public boolean dominant(int num1,int num2,int num3){ 
     if ((num1 > (num2+num3)) ||(num2 > (num1 +num3)) || (num3 > (num1 + num2))) { 
      return true; 

     } else { return false; } 
    } 
0

你的括號放錯了地方:如果 (NUM1>(NUM2 + NUM3))||(NUM2>(NUM1 + NUM3))|| (NUM3>(NUM1 + NUM2))

它應該是:

if((num1>(num2+num3)) ||(num2>(num1 +num3)) || (num3 >(num1 + num2))