У меня есть массив быть классифицированы по тем же значением ..Почему оператор if не работает правильно внутри цикла?
int[] clusters= 0 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
int[] clusterDistinct = 0 1 2
Это прекрасно, используя код ниже, но на последнем заявлении (если заявление) в течение цикла не печатает. Я не знаю, что не так с моим кодом.
private void autoClustering(int[] clusters) {
int[] clusterDistinct = getClusters(clusters);
for (int i = 0; i < clusterDistinct.length; i++) {
System.out.println("\nCluster " + clusterDistinct[i]);
for (int j = 0; j < clusters.length; j++) {
if (clusters[j] == clusterDistinct[i]){
System.out.print(j+",");
}
}
}
}
private int[] getClusters(int[] clusters) {
ArrayList<Integer> klaster = new ArrayList<Integer>();
for (int i = 0; i < clusters.length; i++) {
boolean isDistinct = false;
for (int j = 0; j < i; j++) {
if (clusters[i] == clusters[j]) {
isDistinct = true;
break;
}
}
if (!isDistinct) {
klaster.add(clusters[i]);
}
}
int[] clusterDistinct = new int[klaster.size()];
for (int i = 0; i < clusterDistinct.length; i++)
clusterDistinct[i] = klaster.get(i).intValue();
return clusterDistinct;
}
Вот вывод .. Если инструкция не работает (не печатается) на последнем кластере. кластер 2 (последнее заявление) не печатает, он должен печатать 2,25
, но почему бы не напечатать что-нибудь?
06-10 20:38:34.204: I/System.out(10634): Cluster 0:
06-10 20:38:34.204: I/System.out(10634): 0,
06-10 20:38:34.204: I/System.out(10634): Cluster 1:
06-10 20:38:34.204: I/System.out(10634): 1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,
06-10 20:38:34.204: I/System.out(10634): Cluster 2:
06-10 20:38:34.204: D/BRCM_EGL(10634): eglMakeCurrent(NULL) Thread: 10634
06-10 20:38:34.204: D/BRCM_EGL(10634): eglDestroySurface() surface: 0x4d4beb30, android window 0x4d4be420, Thread: 10634
Как это не печатать? Это ... 1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23, 24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49, 50 – Tukajo
Что вы «ожидаете» под кластером 2? – Tukajo
@Tukajo Он ожидает индексы значений, которые являются 2 ... ie: 2, 25 – carinlynchin