【发布时间】:2016-08-17 04:19:47
【问题描述】:
我有一个类Room,其构造函数如下:
public Room (int x, int y, int z, int Stockwerk) {
this.x = x;
this.y = y;
this.z = z;
this.Stockwerk = Stockwerk;
}
在另一个class我想用欧几里得距离计算两个房间的相似度。因此,我想通过iterateobject 房间将房间1 的第一个值(x)与房间2 的第一个值(x)进行比较,将第二个(y)与第二个(y)进行比较,依此类推。 (下面的代码描述了我如何尝试获得结果)。是否有任何选项可以遍历对象室?
Iterator itrRoom1 = room1.iterator();
Iterator itrRoom2 = room2.iterator();
while (itrRoom1.hasNext()) {
while (itrRoom2.hasNext()) {
int value1 = itrRoom1.next();
int value2 = itrRoom2.next();
}
//this is the function how I get the similarity of two rooms (euclidean distance)
squareSubtraction = squareSubtraction + Math.pow(Math.abs(value1 - value2)), 2);
}
distance = Math.sqrt(squareSubtraction);
【问题讨论】:
-
为什么不使用 3D 点类?
标签: java loops object iterator euclidean-distance