2012-11-27 71 views
-5

我正在制作一个程序,它将一个类的数组中的值相加。我不断收到关于二元运算符的错误。我的代码是:循环查找数组java的总和

public static int sum(Array[] x){ 
    int sum = 0; 
    for (int i = 0; i < x.length; i++){ 
     sum += x[i]; 
    } 
    return sum; 
} 

在此先感谢!

+1

请包括完整的堆栈跟踪。并且不应该'Array [] x'是'int [] x'? – user1329572

+0

你的'Array'类是什么样的? – GriffeyDog

回答

4

看来您使用的是Array[],并没有operator+该类型Array(这是x[i]类型)

你可能想int[]作为x类型。

public static int sum(int[] x){ 
//      ^^ 
//    note the fixed type of the array 
    int sum = 0; 
    for (int i = 0; i < x.length; i++){ 
     sum += x[i]; 
    } 
    return sum; 
} 

奖金:为了简化和可读性 - 你可能要考虑使用for-each loop

public static int sum(int[] x){ 
     int sum = 0; 
     for (int e : x){ 
      sum += e; 
     } 
     return sum; 
} 
0

你的参数类型数组的数组。 你期待看到一个int“+”数组对象?

0

您需要使用int []而不是Array [],它是一个泛型类型。