【发布时间】:2013-07-16 13:21:46
【问题描述】:
我昨天发布了一个关于数组中索引排序的问题。我得到了奇怪的结果,这部分是正确的。我找到了原因,但我不知道如何解决它。
我已经声明了一个数组的最大索引数为 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代表没有数据。