1.先创建一个学生类
public class Student {
private String id;
private String name;
private int age;
private String shengri;
public Student() {
}
public Student(String id, String name, int age, String shengri) {
this.id = id;
this.name = name;
this.age = age;
this.shengri = shengri;
}
/**
* 获取
* @return id
*/
public String getId() {
return id;
}
/**
* 设置
* @param id
*/
public void setId(String id) {
this.id = id;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return age
*/
public int getAge() {
return age;
}
/**
* 设置
* @param age
*/
public void setAge(int age) {
this.age = age;
}
/**
* 获取
* @return shengri
*/
public String getShengri() {
return shengri;
}
/**
* 设置
* @param shengri
*/
public void setShengri(String shengri) {
this.shengri = shengri;
}
2.创建一个测试类菜单
public class Test {
//主方法,菜单的入口
public static void main(String[] args) {
/* Student stu1=new Student("001","张三",20,"1999-2-4");
Student stu2=new Student("002","李四",18,"2000-1-4");
Student stu3=new Student("003","王五",16,"2001-3-4");
*/
//增删改查都是围绕着这个进行操作
ArrayList<Student> list = new ArrayList<>();
/* list.add(stu1);
list.add(stu2);
list.add(stu3);
*/
for(;;) {
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 sc=new Scanner(System.in);
int s=sc.nextInt();
switch (s) {
case 1:
tianjia(list);
break;
case 2:
shanchu(list);
break;
case 3:
xiugai(list);
break;
case 4:
chakan(list);
break;
case 5:
System.out.println("感谢使用,再见");
System.exit(0); //终止正在运行的JVM虚拟机
break ;
default:
System.out.println("你的输入有误,请检查");
break;
}
}
}
5.此方法用于键盘录入学生信息,封装学生对象,存入集合
private static void tianjia(ArrayList<Student> list) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入学号:");
String id="";
for(;;) {
id = sc.next();
int index = suoyin(id, list);
if (index == -1) {
//学号在集合中不存在,可以使用!
break;
} else {
System.out.println("你输入的学号已被占用,请重新输入");
}
}
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入生日:");
String shengri = sc.next();
Student stu=new Student(id,name,age,shengri);
list.add(stu);
}
4.根据学号修改集合中的学生信息
private static void xiugai(ArrayList<Student> list) {
//1.键盘录入要修改的学生学号
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改的学生学号");
String id = sc.next();
//2.调用suoyin方法,查找学号对应索引
int index = suoyin(id, list);
//3.如果学号不存在,给出错误提示
if (index==-1){
System.out.println("你输入的学生学号不存在");
}else {
//4.如果学号存在,录入新的学生信息,完成修改
System.out.println("请输入新的姓名");
String name = sc.next();
System.out.println("请输入新的年龄");
int age = sc.nextInt();
System.out.println("请输入新的生日");
String shengri = sc.next();
//将新录入的学生信息,封装为学生对象
Student stu=new Student(id,name,age,shengri);
list.set(index,stu);
System.out.println("修改成功");
}
}
3.根据学号删除集合中的学生
private static void shanchu(ArrayList<Student> list) {
//1.键盘录入需要删除的学号
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要删除的学生学号");
String id = sc.next();
//2.调用suoyin方法,查找学号在集合中的索引
int index = suoyin(id, list);
//3.判断方法中的返回值是否是-1
if (index==-1){
//3.1 是-1,说明学号不存在,给出错误提示
System.out.println("查无此人,删除失败");
}else {
//3.2 不是-1,说明学号存在,根据索引做删除
list.remove(index);
System.out.println("删除成功");
}
}
1.此方法用于查看学生
private static void chakan(ArrayList<Student> list) {
//先判断集合是否有值
//1.如果没有值 [ list.size()集合索引]
if (list.size()==0){
System.out.println("查无信息,请添加后再重试");
}else {
//2.如果有值,则遍历打印集合中所有元素
System.out.println("学号\t姓名\t年龄\t生日");
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getShengri());
}
}
}
2.此方法用于根据学号,去集合中查找对应的索引
private static int suoyin(String id, ArrayList<Student> list) {
//遍历拿到所有元素
for (int i = 0; i < list.size(); i++) {
Student s = list.get(i);
if (s.getId().equals(id)){
return i;
}
}
return -1;
}
运行结果
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
4
查无信息,请添加后再重试
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
1
请输入学号:
001
请输入姓名:
张三
请输入年龄:
20
请输入生日:
1999-9-9
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
1
请输入学号:
002
请输入姓名:
李四
请输入年龄:
30
请输入生日:
1988-3-5
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
1
请输入学号:
001
你输入的学号已被占用,请重新输入
001
你输入的学号已被占用,请重新输入
4
请输入姓名:
王五
请输入年龄:
20
请输入生日:
2000-2-5
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
4
学号 姓名 年龄 生日
001 张三 20 1999-9-9
002 李四 30 1988-3-5
4 王五 20 2000-2-5
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
2
请输入你要删除的学生学号
4
删除成功
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
4
学号 姓名 年龄 生日
001 张三 20 1999-9-9
002 李四 30 1988-3-5
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
3
请输入你要修改的学生学号
001
请输入新的姓名
王二
请输入新的年龄
22
请输入新的生日
2001-2-6
修改成功
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
4
学号 姓名 年龄 生日
001 王二 22 2001-2-6
002 李四 30 1988-3-5
--------欢迎来到学生管理系统--------
1.添加学生
2.删除学生
3.修改学生
4.查看学生
5.退出
请输入你的选择
5
感谢使用,再见
Process finished with exit code 0