用集合存储学生信息,实现增删改查功能
1.学生类
public class Student implements Comparable<Student>{
private long id;
private String name;
private double score;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", score=" + score + "]";
}
public Student(long id, String name, double score) {
this.id = id;
this.name = name;
this.score = score;
}
public Student() {
}
@Override
public int compareTo(Student o) {
if(this.score > o.score){
return -1;
}
else if(this.score < o.score){
return 1;
}
else {
return 0;
}
}
}
2.功能实现类
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
import javax.lang.model.element.Element;
public class Application {
public static void showPage() {
System.out.println("🐉🐉🐉🐉🐉🐉 学生管理系统 🐉🐉🐉🐉🐉🐉");
System.out.println("☆ 1.添加学生 ★");
System.out.println("☆ 2.查询所有的学生(按照分数降序排序) ★");
System.out.println("☆ 3.根据学号删除学生 ★");
System.out.println("☆ 4.批量添加 ★");
System.out.println("☆ 5.批量删除 ★");
System.out.println("☆ 6.修改学生信息(学号不能修改) ★");
System.out.println("☆ 7.根据名字搜索 ★");
System.out.println("🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉🐉");
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List list = new ArrayList();
while (true) {
showPage();
String key = sc.nextLine();
switch (key) {
case "1":
System.out.println("严格按照下面的格式进行输入,否则存储不了");
System.out.println("学号:姓名:分数");
String studentInfo = sc.nextLine();
String[] split =
studentInfo.split(":");
Student student = new Student(Long.parseLong(split[0]),
split[1], Double.parseDouble(split[2]));
if("蒙鑫".equals(student.getName())) {
list.add(0,student);
} else {
list.add(student);
}
System.out.println("添加成功");
break;
case "2":
System.out.println("-----------------------------------------");
System.out.println("学号\t姓名\t分数");
Set set = new TreeSet();
for (Object o:list) {
set.add(o);
}
for (Object obj : set) {
student = (Student) obj;
System.out.println(student.getId() + "\t" + student.getName() + "\t" + student.getScore());
}
System.out.println("------------------------------------------");
break;
case "3":
System.out.println("请输入要删除的学号");
long id = Long.parseLong(sc.nextLine());
Student stu1 = null;
for(Object obj : list) {
Student stu = (Student) obj;
if(stu.getId() == id) {
stu1 = stu;
break;
}
}
list.remove(stu1);
break;
case "4"://批量添加
System.out.println("严格按照下面的格式进行输入,否则存储不了");
System.out.println("学号:姓名:分数");
String studentInfo1 = sc.nextLine();
String[] split1 =
studentInfo1.split(":");
for (int i = 0; i < split1.length-2; i+=3) {
list.add( new Student(Long.parseLong(split1[i]),
split1[i+1], Double.parseDouble(split1[i+2])));
}
System.out.println("添加成功");
break;
case "5"://批量删除
System.out.println("请输入需要批量删除的学号");
System.out.println("请严格按照学号:学号:学号格式输入");
String id2 = sc.nextLine();
String [] idList = id2.split(":");
long[] idList1 = new long[id2.length()];
for (int i = 0; i < idList.length; i++) {
idList1[i]=Long.parseLong(idList[i]);
}
for(long elements:idList1) {
Student student2=null;
for (Object obj:list) {
Student stu = (Student)obj;
if (stu.getId()==elements) {
student2 = stu;
break;
}
}
list.remove(student2);
}
System.out.println("批量删除成功");
break;
case "6":
System.out.println("请输入要修改的学号");
long id1 = Long.parseLong(sc.nextLine());
Student stu2 = null;
for(Object obj:list) {
Student stu = (Student)obj;
if (stu.getId()==id1) {
stu2=stu;
break;
}
}
System.out.println("请输入姓名");
stu2.setName(sc.next());
System.out.println("请输入分数");
stu2.setScore(sc.nextDouble());
System.out.println("修改成功");
break;
case "7":
System.out.println("请输入学生姓名");
String name = sc.next();
for(Object obj:list) {
Student stu =(Student)obj;
if (name.equals(stu.getName())) {
System.out.println("学号\t姓名\t分数");
System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getScore());
break;
}
}
break;
default:
System.out.println("请输入正确的编号");
break;
}
}
}
}