主要使用了util的Scanner键盘输入,和集合ArrayList
由于是在java基础上写的,没有太多花哨,毕竟后端嘛,能用就行,哈哈哈哈
截图1:程序启动的界面
截图2:添加学生
查询后添加方法添加的数据
截图3:删除后查询
截图5:退出
代码1:学生类(封装类) 为了方便,学号的类型换成了String,年龄换成了integer类型(原因:以防有空值,或者null,使用int类型的话会报错)
package StudentTest;
import lombok.Data;
public class Student {
private String id;
private String name;
private Integer age;
private String birthday;
@Override
public String toString() {
return "Student{" +
"id='" + id + ''' +
", name='" + name + ''' +
", age=" + age +
", birthday='" + birthday + ''' +
'}';
}
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 Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public Student(String id, String name, Integer age, String birthday) {
this.id = id;
this.name = name;
this.age = age;
this.birthday = birthday;
}
//无参构造
public Student() {
}
}
功能实现代码:里边有的方法,更简洁
package StudentTest;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentTest {
public static void main(String[] args) {
//创建键盘输入对象
Scanner sc = new Scanner(System.in);
//在循环外创建ArrayList集合
ArrayList list = new ArrayList();
// 创建while开关
boolean flag = true;
while (flag) {
// 1. 搭建主界⾯菜单
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("请输⼊您的选择:");
// 键盘输入功能
int digital = sc.nextInt();
// 使用switch将输入的功能实现
switch (digital) {
case 1:
addStudent(list);
break;
case 2:
Remove(list);
break;
case 3:
UpdateData(list);
break;
case 4:
selectStudent(list);
break;
case 5:
flag=false;
break;
default:
System.out.println("输入有误");
break;
}
}
}
public static void addStudent(ArrayList list) {
// 添加功能
// 使用键盘录入将学生信息放入list集合
Scanner sc = new Scanner(System.in);
System.out.println("请输入学号:");
String id = sc.next();
System.out.println("请输入姓名:");
String name = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入生日:");
String birthday = sc.next();
Student stu = new Student(id, name, age, birthday);
list.add(stu);
//去除重复的数据
for (int i = 0; i < list.size(); i++) {
for (int j = i+1; j
System.out.println("添加成功");
}
public static void selectStudent(ArrayList list) {
if (list.size() == 0) {
System.out.println("暂无信息,请重试");
//返回一个空值
return;
}
System.out.println("学号tt姓名tt年龄tt⽣⽇");
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
//字符串拼接
System.out.println(stu.getId() + "t" + stu.getName() + "t"
+ stu.getAge() + "tt" + stu.getBirthday());
}
}
public static void Remove(ArrayList list) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的学生id:");
String sid = sc.next();
for (int i = 0; i < list.size(); i++) {
//根据键盘输入的值,在list集合中进行判断,如果有就删除,没有返回
if (list.get(i).getId().equals(sid)) {
list.remove(i);
}
}
}
public static void UpdateData(ArrayList list) {
// 1.先创建要更新的信息 使用scanner
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学号:");
String id = sc.next();
// 2.遍历数组
for (int i = 0; i < list.size(); i++) {
// 3.判断要修改的学生是否存在
if (list.get(i).getId().equals(id)) {
// 4.存在的话创建Student对象,获取原本信息
System.out.println("请输入新的姓名:");
String name = sc.next();
System.out.println("请输入新的年龄:");
int age = sc.nextInt();
System.out.println("请输入新的生日:");
String birthday = sc.next();
// 5.更改信息
list.get(i).setName(name);
list.get(i).setAge(age);
list.get(i).setBirthday(birthday);
}
}
}
public static void StopClose(){
boolean flag=false;
}
}
有些注释写的不太好有建议可以评论告诉我,我现在也属于学习进步阶段,感谢大家 


