【发布时间】:2013-12-14 17:45:21
【问题描述】:
我有一个包含学生姓名的单一贬义数组和一个包含学生分数的二维数组,我可以很好地对名称进行排序,但我无法让分数匹配(因为它们必须保持相同的顺序)。这是我尝试的代码:
static String[] studentNamesArray = new String[10];
static int[][] studentMarksArray = new int[10][3];
static void sortAlphabetical() {
String tempName;
int intSwap;
boolean flag = false;
while (flag==false) {
flag = true;
for (int i = 0; i < 9; i++) {
if (studentNamesArray[i].compareTo(studentNamesArray[i + 1])>0) {
tempName = studentNamesArray[i];
studentNamesArray[i] = studentNamesArray[i + 1];
studentNamesArray[i + 1] = tempName;
for(int y=0;y<2;y++){
intSwap = studentMarksArray[i][0];
studentMarksArray[i][y] = studentMarksArray[i+1][y+1];
studentMarksArray[i+1][y+1] = intSwap;
}
flag = false;
}
}
}
}
【问题讨论】:
-
有什么理由不想创建一个包含其名称和标记的
Student对象,然后创建一个Student[]数组并使用Comparator按名称对其进行排序?跨度> -
我仅限于非 OO 方法
-
compareTo是一种面向对象的方法... -
我的意思是我不能有单独的类文件
标签: java arrays sorting multidimensional-array