设计⼀个给班级学⽣成绩排序的程序,具体要求如下: (1)定义⼀个学⽣类student,包含姓名和分数两个属性:String name;int score; (2)在主类中,定义⼀个学⽣类数组stu[ ],包含⾄少5个学⽣,对每个学⽣的姓名和分数进⾏赋值; (3)对所有学⽣按照分数进⾏排序,并放⼊stu数组中;注意:如何排序,⽅法不定,请同学们思考。 (4)把所有学⽣信息,按照分数从⾼到底打印出来。
时间: 2024-02-27 09:54:49 浏览: 69
2.编写一个函数print, 打印一个学生的成绩数组, 该数组中有5个学生的数据记录,每个记录包括num,name,score[3],用主函数输入这些记录,用p
好的,我可以帮您设计这个程序。按照题目要求,我们可以先定义一个学生类 `Student`,包含姓名和分数两个属性:
```
public class Student {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
}
```
接下来,在主类中定义一个学生类数组 `stu[]`,并对每个学生的姓名和分数进行赋值,这部分代码如下:
```
public class Main {
public static void main(String[] args) {
Student[] stu = new Student[5];
stu[0] = new Student("小明", 90);
stu[1] = new Student("小红", 80);
stu[2] = new Student("小刚", 85);
stu[3] = new Student("小李", 92);
stu[4] = new Student("小张", 87);
}
}
```
下一步是对所有学生按照分数进行排序,并放入 `stu` 数组中。这里我们可以采用冒泡排序的方式进行排序,代码如下:
```
// 冒泡排序
for (int i = 0; i < stu.length - 1; i++) {
for (int j = 0; j < stu.length - i - 1; j++) {
if (stu[j].getScore() < stu[j + 1].getScore()) {
Student temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
```
最后,我们将所有学生信息按照分数从高到底打印出来,代码如下:
```
// 打印学生信息
for (Student s : stu) {
System.out.println(s.getName() + ":" + s.getScore());
}
```
完整代码如下:
```
public class Student {
private String name;
private int score;
public Student(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
}
public class Main {
public static void main(String[] args) {
Student[] stu = new Student[5];
stu[0] = new Student("小明", 90);
stu[1] = new Student("小红", 80);
stu[2] = new Student("小刚", 85);
stu[3] = new Student("小李", 92);
stu[4] = new Student("小张", 87);
// 冒泡排序
for (int i = 0; i < stu.length - 1; i++) {
for (int j = 0; j < stu.length - i - 1; j++) {
if (stu[j].getScore() < stu[j + 1].getScore()) {
Student temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
}
}
// 打印学生信息
for (Student s : stu) {
System.out.println(s.getName() + ":" + s.getScore());
}
}
}
```
希望这个程序能够帮助您。
阅读全文