您好
我写了一个代码,我将只提出一个问题的一部分。
我有arrayList<Point>
,其大小为4
。我已将此列表的3
元素传递给方法,但使用System.out.println
我得3 y
而不是1 y
!!出了什么问题。请帮助我。谢谢
CODE:
public int determinal(Object get, Object get0, Object get1) {
Point point = (Point) get;
Point point1 = (Point) get0;
Point point2 = (Point) get1;
int[][] data = new int[3][2];
data[0][0] = point.getX();
data[0][1] = point.getY();
data[1][0] = point1.getX();
data[1][1] = point1.getY();
data[2][0] = point2.getX();
data[2][1] = point2.getY();
System.out.println(data[1][1]);
return ((data[0][0] - data[2][0]) * (data[2][1] - data[2][1]) * (data[1][0] -
data[2][1]) * (data[0][1] - data[2][1]));
}
输出:
X :225 Y: 86
X :92 Y: 164
X :238 Y: 154
86
164
154
我更喜欢打印164但它会打印所有y。 另外我还有另一个System.out.println打印我所有三点的X和Y(这个方法没有在上面提到)
答案 0 :(得分:1)
你认为问题是什么并不是很清楚,但我认为你只是因为你的变量名称不一致而感到困惑。
例如,如果我删除与System.out.println
调用无关的代码:
public int determinal(Object get, Object get0, Object get1) {
Point point1 = (Point) get0;
int[][] data = new int[3][2];
data[1][1] = point1.getY();
System.out.println(data[1][1]);
}
然后进一步减少它:
public int determinal(Object get, Object get0, Object get1) {
System.out.println(((Point) get0).getY());
}
你能看到现在发生了什么吗?
答案 1 :(得分:0)
我觉得你的调用方法有问题,你可以发布调用方法的样本吗?
或者确保你的调用方法中有一些循环控制,这就是造成这种情况的原因。
-Saligh