昨天我发布了一个关于数组中索引排序的问题。我得到了奇怪的结果,这在一定程度上是正确的。我找出原因,但我不知道如何解决。为什么打印方法从数组索引打印空数据?
我声明了一个数组,其最大索引值为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代表没有数据。 –