返回更大的数字

时间:2013-04-06 16:46:29

标签: java

我正在尝试这个问题而且我遇到了这个错误

这是一个非常一般的语法错误,可能是由各种问题引起的,例如错误的{}括号或不正确的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)的调用将返回false   因为这三个数字中没有一个大于和的总和   其他。您可以假设这些数字都不是负数。

我的尝试:

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

    }else{
        return false;
    }  
}

3 个答案:

答案 0 :(得分: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;
    }  
}

答案 1 :(得分: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; }  
    }

答案 2 :(得分:0)

您的括号放错了地方: if(num1>(num2 + num3))||(num2>(num1 + num3))|| (num3>(num1 + num2))

应该是:

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