第一步,先定义一个学生类,将你需要存储的属性写好。
public class Student {
private String id;
private String name;
private int age;
private String address;
public Student() {
}
public Student(String id, String name, int age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
第二步,实现增删查改。
import java.util.*;
public class studentSystem {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<>();
loop: while (true) {
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("请输入您的选择");
Scanner in = new Scanner(System.in);
String choose;
choose = in.next();
switch (choose) {
case "1" ->addStudent(list);
case "2" ->deleteStudent(list);
case "3" ->updateStudent(list);
case "4" ->queryStudent(list);
case "5" ->{
System.out.println("退出");
break loop;
// System.exit(0);
}
default->
System.out.println("没有这个选项");
}
}
}
//添加学生
public static void addStudent(ArrayList<Student> list){
Scanner in=new Scanner(System.in);
Student s=new Student();
String id;
while (true) {
System.out.println("请输入学生id");
id=in.next();
boolean flag = container(list,id);
if (flag) {
s.setId(id);
break;
} else {
System.out.println("该id已存在,请重新输入");
break;
}
}
System.out.println("请输入学生姓名");
s.setName(in.next());
System.out.println("请输入学生年龄");
s.setAge(in.nextInt());
System.out.println("请输入学生地址");
s.setAddress(in.next());
list.add(s);
System.out.println("学生信息添加成功");
}
//删除学生
public static void deleteStudent(ArrayList<Student> list){
Scanner in=new Scanner(System.in);
System.out.println("请输入要删除的id");
String id=in.next();
if(getIndex(list,id)>-1){
list.remove(getIndex(list,id));
System.out.println("删除学生id为"+id+"的学生");
}else {
System.out.println("不存在该学生,请重新输入");
}
}
//修改学生
public static void updateStudent(ArrayList<Student> list){
Scanner in=new Scanner(System.in);
System.out.println("请输入要修改学生的id");
String id=in.next();
int index=getIndex(list,id);//获取要修改学生的id
if(index==-1){
System.out.println("该学生不存在,请重新输入");
}else {
Student stu=new Student();
stu=list.get(index);
System.out.println("请输入要修改学生的姓名");
String name=in.next();
stu.setName(name);
System.out.println("请输入要修改学生的年龄");
int age=in.nextInt();
stu.setAge(age);
System.out.println("请输入要修改学生的地址");
String address=in.next();
stu.setAddress(address);
System.out.println("学生id"+id+"的信息已修改成功");
}
}
//查询学生
public static void queryStudent(ArrayList<Student> list){
if(list.size()==0){
System.out.println("当前表格无内容,请添加后再查询");
}else {
System.out.println("id"+" "+"姓名"+" "+"年龄"+" "+"地址");
for (int i = 0; i < list.size(); i++) {
Student s = new Student();
s = list.get(i);
System.out.println(s.getId() + " " + s.getName() + " " + s.getAge() + " " + s.getAddress());
}
}
}
//查找表中是否存在id
public static boolean container(ArrayList<Student> list,String id){
Student s=new Student();
for (int i = 0; i < list.size(); i++) {
s=list.get(i);
if(s.getId().equals(id)){
return false;
}
}
return true;
}
//根据id返回索引
public static int getIndex(ArrayList<Student> list,String id){
Student stu=new Student();
for (int i = 0; i < list.size(); i++) {
stu=list.get(i);
String sid=stu.getId();
if(sid.equals(id)){
return i;//有就直接返回id
}
}
return -1;
}
}