我想对计算结果进行排序,其中存在字符串和值,排序过程成功,但字符串存在问题。 string不遵循先前排序中的值。怎么办呢? getNamaDosen()为String,nilaiDosen为value,getJumlahBakcal()为数据量。
代码程序:
Object[][] data2 = new Object[getJumlahBakcal()][2];
Double [] nilaiDosen = new Double[getJumlahBakcal()];
for(int a=0; a<nilaiDosen.length; a++){
for(int b=0; b<nilaiDosen.length-1; b++){
if(nilaiDosen[b]<nilaiDosen[b+1]){
double temp = nilaiDosen[b];
nilaiDosen[b] =nilaiDosen[b+1];
nilaiDosen[b+1] = temp;
}
for (int i = 0; i < getJumlahBakcal(); i++) {
for (int j = 0; j < 3; j++) {
if (j == 0) {
data2[i][j] = getNamaDosen()[i];
} else if (j == 1) {
data2[i][j] = (nilaiDosen[i]);
}
}
}
}
}
String[] header = {"Nama Dosen", "Prefensi"};
DefaultTableModel dtm = new DefaultTableModel(data2, header);
analisaVW.getRank().setModel(dtm);
图片说明:
答案 0 :(得分:0)
字符串不遵循先前排序中的值
因为,您只是在交换价值。因此,您也希望遵循String值。然后,你应该同时交换String。
我认为,这是你交换价值的地方
if(nilaiDosen[b]<nilaiDosen[b+1]){
double temp = nilaiDosen[b];
nilaiDosen[b] =nilaiDosen[b+1];
nilaiDosen[b+1] = temp;
// include code here to swap Sting value using same index
}
现在,在交换值时,您还应该交换String
值。