我不确定为什么会收到此错误,也不知道如何解决。我收到运行时异常:
for(int j = 0; j < instances[maxInstance].length; j++){
centroids[orphanCentroid][j]=instances[maxInstance][j];
}
for(int j = 0; j < instances[maxInstance].length; j++){
{
double temp = centroids[maxInstance][j] ;
centroids[maxInstance][j] = centroids[orphanCentroid][j] ;
centroids[orphanCentroid][j] = temp ;
}
错误是:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at kmeans.KMeans.cluster(KMeans.java:75)
at kmeans.HW1.main(HW1.java:36)
它发生在这一行:
double temp = centroids[maxInstance][j] ;
最佳答案
我觉得你需要
for(int j = 0; j < centroids[maxInstance].length; j++){
}
在第二个for循环上。
关于java - 当Java中两个值相等时,为什么会出现交换错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26027666/