昨天我發佈了一個關於數組中索引排序的問題。我得到了奇怪的結果,這在一定程度上是正確的。我找出原因,但我不知道如何解決。爲什麼打印方法從數組索引打印空數據?
我聲明瞭一個數組,其最大索引值爲50.將數據讀入一個文件後,只有24個左右填充了實際數據,其餘都填充了0。當我打印時,所有50個索引都按升序排列。我無法弄清楚如何只用數據打印索引。
這裏是鏈接到我的問題昨天:Sorting double arrays into ascending order
下面是我的代碼數組聲明和初始化,排序環,印刷等。任何幫助將是偉大的!
private double[] x;
x = new double[50];
int index, j = x.length - 1,double temp;
for (j = x.length - 1; j >= 0; j--) {
for (index = 0; index <= j - 1; index++) { //start for
if (x[index] > x[index + 1]) { //start if
temp = x[index];
x[index] = x[index + 1];
x[index + 1] = temp;
}
}
}
for (index = 0; index < x.length; index++) {
System.out.printf("%3d. \t\t%5.1f%%\n", (index + 1), x[index]);
}
只是爲了澄清,一個0,不管什麼代表沒有數據是正確的? –
是的,0代表沒有數據。 –