我正在尝试使用Arrays.sort方法对int数组进行排序,但它删除了我的数组中的所有内容并将其替换为0.这里发生了什么?它是第一次打印正确的数字,但在我对其进行排序之后,它已经用0替换了所有数据。它在循环中运行了几次,每次我在数组中获得越来越多的数字,但它永远不会正确的。
while(rs.next()){
amount[0] = rs.getInt("ramamount");
amount[1] = rs.getInt("casesamount");
amount[2] = rs.getInt("mainboardamount");
amount[3] = rs.getInt("cpuamount");
amount[4] = rs.getInt("gfxamount");
String nome = rs.getString("nome");
System.out.println(nome + ": RAM=" + amount[0] + " CASES=" + amount[1] + " MAINBOARD=" + amount[2] + " CPU=" + amount[3] + " GFX=" + amount[0]);
Arrays.sort(amount);
System.out.println(amount[0] + ", " + amount[1]+ ", " + amount[2]+ ", " + amount[3]+ ", " + amount[4]);
}
答案 0 :(得分:4)
确保您的金额数组的长度为5,否则sort会将零作为第一个元素并将您的值移动到更高的索引。