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

 我来答
若以下回答无法解决问题,邀请你更新回答
buyuanyi1314
推荐于2019-09-08 · TA获得超过647个赞
知道小有建树答主
回答量:539
采纳率:90%
帮助的人:469万
展开全部
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String [][] arrs = new String[3][6];
for (int i = 0; i <arrs.length; i++) {
System.out.println("请输入第"+(i+1)+"学生号!");
String stuID = input.next();
arrs[i][0] = stuID;
for (int j = 1; j <arrs[i].length; 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<Object>() {
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;
}
});
}

我用的是二维数组录入成绩的方便用比较最大值!你可以换个容器试试,希望能帮到你!望采纳给赞!谢谢
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式