java创建一个学生类student,里面包括id,name,sex,age,将所有学生信息放入一个数组中,并实现增加一个学生,根据学号删除某个学生,按照姓名排序的功能
时间: 2023-05-23 12:02:32 浏览: 101
非常好的问题!以下是一份java代码,实现创建学生类、增加学生、删除学生、按照姓名排序的功能:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
class student {
private int id;
private String name;
private String sex;
private int age;
public student(int id, String name, String sex, int age) {
this.id = id;
this.name = name;
this.sex = sex;
this.age = age;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getSex() {
return sex;
}
public int getAge() {
return age;
}
}
public class Main {
public static void main(String[] args) {
ArrayList<student> list = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 增加学生");
System.out.println("2. 根据学号删除学生");
System.out.println("3. 按照姓名排序");
System.out.println("4. 退出程序");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.println("请输入学生的id、姓名、性别和年龄:");
int id = scanner.nextInt();
String name = scanner.next();
String sex = scanner.next();
int age = scanner.nextInt();
student newStudent = new student(id, name, sex, age);
list.add(newStudent);
break;
case 2:
System.out.println("请输入要删除学生的学号:");
int deleteId = scanner.nextInt();
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId() == deleteId) {
list.remove(i);
System.out.println("删除成功!");
break;
}
}
break;
case 3:
System.out.println("按照姓名排序后的学生列表:");
Collections.sort(list, new Comparator<student>() {
@Override
public int compare(student o1, student o2) {
return o1.getName().compareTo(o2.getName());
}
});
for (student s : list) {
System.out.println("id:" + s.getId() + ",姓名:" + s.getName() + ",性别:" + s.getSex() + ",年龄:" + s.getAge());
}
break;
case 4:
System.out.println("程序已退出。");
System.exit(0);
default:
System.out.println("输入有误,请重新选择操作。");
break;
}
}
}
}
```
上述代码定义了一个类`student`,并使用`ArrayList`存储所有学生的信息。程序提供了添加、删除学生的功能,以及按照姓名排序的功能。通过运行该程序,在控制台输入相应的操作即可执行相应的操作。
阅读全文