如果有一个数组如:
//....
int[] anArray;
anArray = new int[3];
anArray[0] = new otherClassWConst( x, y , z);
anArray[1] = new otherClassWConst( x, y , z);
anArray[2] = new otherClassWConst( x, y , z);
//....
x和y和z的值都与数组中其他对象的x,y和z的值不同。 (这有意义吗?就像anArray [0]中x的值与anArray [2]中的值不同。 注意:有一个来自另一个类的构造函数需要这些参数,我不确定这是否重要
如何在不同的类中获取每个数组值中的一个参数(例如,y的值)的值。因为,是否有一种方法可以获得Y的所有三个值,所以我可以将它们全部添加到另一个类中?
例如
//code attaining only the y values of the array
overallValueOfY = Y + Y + Y; // or something of that nature
//life continues over here.
如果不清楚,请告诉我,我努力解释。谢谢你的考虑。
答案 0 :(得分:0)
OtherClassConst
需要为它提供一个get方法:
public class OtherClassConst {
private int x;
private int y;
private int x;
public (int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
public int getY() {
return y;
}
/* Same concept for getX() and getZ() */
}
然后,你上课可以称之为:
int sumY = 0;
for (OtherClassConst c : myArray) {
sumY += c.getY();
}
答案 1 :(得分:0)
首先,除非您的新类扩展为Int,否则您的数组将无法工作,我只是想确保您知道这一点。
现在,您所要做的就是在新类中创建一个int varriable
int x;
int y;
int z;
并将它们设置为等于构造函数中的内容。然后创建一个返回值
的新方法public int getX(){
return this.x;
}
public int getY(){
return this.Y;
}
public int getZ(){
return this.Z;
}
答案 2 :(得分:0)
您需要使用x,y和z实例变量为您的其他类创建POJO
,然后使用y的setter方法获取值。迭代它们以获得值的总和。
答案 3 :(得分:0)
如果您的其他OtherClass
有getY
方法返回一个整数,那么您可以使用以下内容对它们求和:
Arrays.stream(anArray).mapToInt(OtherClass::getY).sum();
使用流而不是循环是值得的。