0

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

这是一个非常普遍的语法错误,可能是由各种问题引起的,例如 { } 大括号错位或 Java 关键字/运算符的错误序列。有时错误不在指示的行上,而是在前一行上。

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

编写一个占主导地位的方法,它接受三个整数作为参数,如果三个整数中的任何一个大于其他两个整数的和,则返回 true。整数可以按任何顺序传递,因此最大值可以是三个中的任何一个。如果没有值大于其他两个的总和,则您的方法应返回 false。

例如,dominant(4, 9, 2) 的调用将返回 true,因为 9 大于 4 + 2。dominant(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;
    }  
}
4

3 回答 3

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;
    }  
}
于 2013-04-06T16:48:37.677 回答
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; }  
    }
于 2013-04-06T16:48:57.897 回答
0

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

它应该是:

if((num1>(num2+num3)) ||(num2>(num1 +num3)) || (num3 >(num1 + num2))
于 2013-04-06T16:49:18.770 回答