java练习题,各位大佬求解

1.请声明一个二维数组,数组名为cjb,该数组10行3列,每1行保存1个学生的学号和成绩信息,第1列保存学号,第2列保存java成绩,第3列保存英语成绩,共可保存10个学生的信息; 2.提示用户输入10个同学的学号和成绩信息,把输入的信息保存到数组cjb中; 3.将数组cjb中的信息显示出来,一行显示一个学生信息; 4.对数组cjb以总成绩为关键字进行降序排序,排序算法采用冒泡排序算法;5.将排序后的数组cjb中的信息显示出来,一行显示一个学生信息.

这个最好不用数组,定义一个学生类,把类放到数组里面更好操作。

public class Test {

  public static void main(String[] args) throws Exception {
    // 第一步读入数据
    Student[] students = new Student[10];
    Scanner sc = new Scanner(System.in);
    for (int i = 0; i < 10; i++) {
      Student st = new Student();
      st.name = sc.next();
      st.chinese = sc.nextInt();
      st.math = sc.nextInt();
      st.english = sc.nextInt();
      st.sum = st.chinese + st.math + st.english;
      students[i] = st;
    }

    // 根据总成绩降序排列
    

    // 存入到文件中
    for (Student student : students) {
      System.out.printf("%s %d %d %d\n", student.name, student.chinese, student.math, student.english);
    }
  }

}

class Student {
  // 姓名
  String name;
  // 语文成绩
  int chinese;
  // 数学成绩
  int math;
  // 英语成绩
  int english;
  int sum;
}

你可以参照这个,只是 Student 中的内容可以改一下。然后排序算法的话需要你自己补充了。

建议自己先写,哪里遇到问题再问。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632