public void sortcolumn(double[] arraytosort) {
a = new int[5];
for (int i = 1; i < arraytosort.length; i++) {
for (int j = 1; j < arraytosort.length; j++) {
if ((arraytosort[i]) > (arraytosort[j])) {
tempVar = arraytosort[j];
arraytosort[j] = arraytosort[i];
arraytosort[i] = tempVar;
a[i] = j;
}
}
System.out.println( a[i]);
}
}
public void decisionvalue(double[][] arraydc){
arrtemp = new double[arraydc.length];
for(int i =0; i<arraydc[0].length;i++){
System.out.println("The column matrix is");
for(int j =1; j<arraydc.length;j++){
arrtemp[j] = arraydc[j][i];
System.out.println(arrtemp[j]);
}
sortcolumn(arrtemp);
System.out.println("The sorted column matrix is" +i);
for(int k =1; k<arraydc.length; k++)
System.out.println(arrtemp[k]);
}
}
通过上面的代码,我正在对数组的列进行排序,然后打印它们。但我不明白为什么升序排序的元素按降序打印。有人请检查一下。谢谢!
以下是输出: 这是输入矩阵arraydc
0.0 0.0 0.0
25.0 10.0 24.0
25.0 5.0 23.0
25.0 23.0 6.0
25.0 89.0 8.0
列矩阵是 25.0 25.0 25.0 25.0
0 0 0 0
排序列矩阵为0 25.0 25.0 25.0 25.0
列矩阵是 10.0 5 23.0 89.0
2 1 2 3
排序列矩阵为1 89.0 23.0 10.0 5.0
列矩阵是 24.0 23.0 6 8.0
3 1 2 3
排序列矩阵为2 24.0 23.0 8 6.0
答案 0 :(得分:0)
for (int j = i; j < arraytosort.length; j++) {
从第二个循环中的i
开始