学生类 Student 有学号、姓名、年龄三个属性。创建学生测试类 TestStudent,并定 义四个方法,实现如下 4 个功能,在 main()方法中创建 5 个学生对象,并赋给一个学 生对象数组,测试各个方法的功能。请完成 TestStudent.java 中功能 2 和 功能 3 的功能。 功能 1:输出所有学生的信息。 功能 2:将学生按学号排序输出。 功能 3:给所有学生年龄加 1。 功能 4:在实现功能 3 的基础上, 统计大于 20 岁
时间: 2024-02-13 18:01:48 浏览: 33
以下是 TestStudent.java 的代码,实现了功能 2 和功能 3:
```java
public class TestStudent {
public static void main(String[] args) {
Student[] students = new Student[5];
students[0] = new Student("001", "Tom", 18);
students[1] = new Student("002", "Jerry", 19);
students[2] = new Student("003", "Mike", 20);
students[3] = new Student("004", "John", 21);
students[4] = new Student("005", "Lucy", 22);
// 功能1:输出所有学生的信息
System.out.println("所有学生的信息如下:");
for (Student s : students) {
System.out.println(s);
}
// 功能2:将学生按学号排序输出
Arrays.sort(students, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
return s1.getId().compareTo(s2.getId());
}
});
System.out.println("按学号排序后的学生信息如下:");
for (Student s : students) {
System.out.println(s);
}
// 功能3:给所有学生年龄加 1
for (Student s : students) {
s.setAge(s.getAge() + 1);
}
System.out.println("所有学生年龄加 1 后的信息如下:");
for (Student s : students) {
System.out.println(s);
}
// 功能4:统计大于 20 岁的学生数量
int count = 0;
for (Student s : students) {
if (s.getAge() > 20) {
count++;
}
}
System.out.println("大于 20 岁的学生数量为:" + count);
}
}
```
其中,功能 2 使用了 `Arrays.sort()` 方法,传入一个 `Comparator` 对象来比较学生对象的学号大小。
功能 3 直接遍历所有学生对象,对年龄属性加 1。
注意,以上代码中的 `Student` 类需要在之前定义。