Java 如何向对象添加值

Java 如何向对象添加值,java,arrays,object,compiler-errors,Java,Arrays,Object,Compiler Errors,我试图学习Java,但有一个问题。 我创建了一个类颜色。这个类包含一个“color”的构造函数,它有3个int值(红色、绿色、蓝色)。然后我有一个包含很多颜色元素的数组 现在我想把其中的4个元素加到1上,然后除以它,得到每个int值的平均值 但是eclipse说运算符+是未定义的 Color sum = new Color(red, green, blue) for (int i = 0; i < length; i ++) { sum = sum + array[i]; }

我试图学习Java,但有一个问题。 我创建了一个类颜色。这个类包含一个“color”的构造函数,它有3个int值(红色、绿色、蓝色)。然后我有一个包含很多颜色元素的数组

现在我想把其中的4个元素加到1上,然后除以它,得到每个int值的平均值

但是eclipse说运算符+是未定义的

Color sum = new Color(red, green, blue)
for (int i = 0; i < length; i ++) {
     sum = sum + array[i];
}

public Color(int r, int g, int b){
    this.red=r;
    this.green=g;
    this.blue=b;
}
Color sum=新颜色(红、绿、蓝)
for(int i=0;i

如何将每个数组元素的值添加到总和中?数组中的元素来自“颜色”类型

sum变量是一个
颜色和

sum = sum + array[i];
未定义,因此编译器无法理解如何解决此类操作

也许你可以考虑一些类似于

的东西。
sum.red +=  array[i];
is数组[i]包含整数或:

sum.red +=  array[i].red;

如果数组是颜色数组,则Sum是一个非变量对象。您可以向其关联参数添加值

例如:

sum.red = sum.red+array[i].red

Java中没有运算符重载。您必须分别处理每个值:

int avgRed = 0;
int avgGreen = 0;
int avgBlue = 0;
for (int i = 0; i < length; i ++) {
    avgRed += array[i].getRed();
    avgBlue += array[i].getBlue();
    avgGreen += array[i].getGreen();
}
Color avgColor = new Color(avgRed / length, avgBlue / length, avgGreen / length);
int-avgRed=0;
int-avgGreen=0;
int-avgBlue=0;
for(int i=0;i
您不能使用
+
操作符来完成您想做的事情,但是您可以将
add
方法添加到
Color
类中,这样您就可以编写:

Color sum = new Color(red, green, blue)
 for (int i = 0; i < length; i ++) {
    sum = sum.add(array[i]);

如果对象包含一个
字符串
,那么它的总和就没有定义,java应该怎么做?当你说“颜色元素数组”时,你必须手动求和红色、绿色和蓝色值,你是指颜色,即你的类颜色吗?这不是答案,而是注释。@aubin我编辑过:)现在清楚了吗?顺便说一句,我没有评论权。
    public Color add(Color other) {
        return new Color(this.red + other.red, 
                         this.green + other.green,
                         this.blue + this.blue);
    }