现要求你使用java编程实现以下内容:编写一个学生类student,包含的属性有学号、姓名、性别、年龄等,将所有学生存储在一个数组中,编写学生管理程序实现如下操作:(1)增加一个学生;(2)根据学号删除某个学生;(3)将所有学生年龄增加一岁;(4)按数组中顺序显示所有学生信息;(5)将所有学生按姓名排序输出。
时间: 2023-05-28 12:07:10 浏览: 50
```java
import java.util.Arrays;
public class Student {
private String id; // 学号
private String name; // 姓名
private String gender; // 性别
private int age; // 年龄
public Student(String id, String name, String gender, int age) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void addAge() {
this.age++;
}
public String toString() {
return "学号:" + id + ",姓名:" + name + ",性别:" + gender + ",年龄:" + age;
}
}
public class StudentManager {
private Student[] students; // 学生数组
private int size; // 学生数量
public StudentManager(int capacity) {
students = new Student[capacity];
size = 0;
}
public boolean add(Student student) {
if (size >= students.length) {
return false;
}
students[size++] = student;
return true;
}
public boolean remove(String id) {
for (int i = 0; i < size; i++) {
if (students[i].getId().equals(id)) {
for (int j = i; j < size - 1; j++) {
students[j] = students[j + 1];
}
students[size - 1] = null;
size--;
return true;
}
}
return false;
}
public void addAge() {
for (int i = 0; i < size; i++) {
students[i].addAge();
}
}
public void display() {
for (int i = 0; i < size; i++) {
System.out.println(students[i].toString());
}
}
public void sortByName() {
Arrays.sort(students, 0, size, (s1, s2) -> s1.getName().compareTo(s2.getName()));
}
}
public class Test {
public static void main(String[] args) {
StudentManager manager = new StudentManager(10);
manager.add(new Student("001", "张三", "男", 20));
manager.add(new Student("002", "李四", "女", 19));
manager.add(new Student("003", "王五", "男", 21));
manager.add(new Student("004", "赵六", "女", 18));
System.out.println("添加学生后:");
manager.display();
System.out.println("删除学号为002的学生后:");
manager.remove("002");
manager.display();
System.out.println("所有学生年龄增加一岁后:");
manager.addAge();
manager.display();
System.out.println("按顺序显示所有学生信息:");
manager.display();
System.out.println("按姓名排序后:");
manager.sortByName();
manager.display();
}
}
```