永发信息网

java 题目:有三个学生,每个学生有五门课程的成绩,从键盘输入以下数据:学生号,五门课程成绩。

答案:1  悬赏:70  手机版
解决时间 2021-03-24 22:07
java 题目:有三个学生,每个学生有五门课程的成绩,从键盘输入以下数据:学生号,五门课程成绩。
最佳答案
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String [][] arrs = new String[3][6];
for (int i = 0; i System.out.println("请输入第"+(i+1)+"学生号!");
String stuID = input.next();
arrs[i][0] = stuID;
for (int j = 1; j System.out.println("请输入第"+j+"门课成绩!");
int grade = input.nextInt();
if(grade<0){
System.out.println("输入有误,请重新输入第"+j+"门课成绩!");
}
arrs[i][j] = grade+"";
}
}
for (int i = 0; i < arrs.length; i++) {
for (int j = 0; j < arrs[i].length; j++) {
System.out.print(arrs[i][j]+" ");
}
System.out.println();
}
System.out.println("--------------------------------");
for (int i = 1; i < arrs[0].length; i++) {
int [] index = {i};
sort(arrs,index);
System.out.println("第"+i+"门的成绩最好的学号为:"+arrs[2][0]);

}
}
public static void sort(String[][] ob, final int[] order) {
Arrays.sort(ob, new Comparator() {
public int compare(Object o1, Object o2) {
String[] one = (String[]) o1;
String[] two = (String[]) o2;
for (int i = 0; i < order.length; i++) {
int k = order[i];
if (Integer.parseInt(one[k]) > Integer.parseInt(two[k])) {
return 1;
} else if (Integer.parseInt(one[k]) < Integer.parseInt(two[k])) {
return -1;
} else {
continue; //如果按一条件比较结果相等,就使用第二个条件进行比较。
}
}
return 0;
}
});
}

我用的是二维数组录入成绩的方便用比较最大值!你可以换个容器试试,希望能帮到你!望采纳给赞!谢谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯