Manager类
package StudentSystem;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Manager {
public static void main(String[] args) {
List<Student> sm = new ArrayList<>();
menu:
while (true) {
Scanner sc = new Scanner(System.in);
System.out.println(Util.conker("学生信息管理系统", 30, " "));
System.out.println(Util.conker("1.添加学生信息", 30, " "));
System.out.println(Util.conker("2.删除学生信息", 30, " "));
System.out.println(Util.conker("3.修改学生信息", 30, " "));
System.out.println(Util.conker("4.查看学生信息", 30, " "));
System.out.println(Util.conker("退出管理系统", 30, " "));
int index = sc.nextInt();
switch (index) {
case 1:
Util.add(sm);
break;
case 2:
Util.delete(sm);
break;
case 3:
Util.amend(sm);
break;
case 4:
Util.examine(sm);
break;
default:
System.out.println("退出管理系统");
break menu;
}
}
}
}
Student类
package StudentSystem;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {
private int id;
private String name;
private String gender;
private int age;
private String address;
}
Util类
package StudentSystem;
import java.util.List;
import java.util.Scanner;
public class Util {
public static void add(List<Student> sm) {
Scanner sc = new Scanner(System.in);
Student st = new Student();
System.out.println("输入学号");
st.setId(sc.nextInt());
System.out.println("输入姓名");
st.setName(sc.next());
System.out.println("输入性别");
st.setGender(sc.next());
System.out.println("输入年龄");
st.setAge(sc.nextInt());
System.out.println("输入住址");
st.setAddress(sc.next());
sm.add(st);
try {
System.out.println("保存...");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("学生信息录入成功");
System.out.println(st.getName());
}
public static void examine(List<Student> sm) {
System.out.println(Util.left("学号", 10) + Util.left("姓名", 10) + Util.left("性别", 10) + Util.left("年龄", 10) + Util.left("住址", 30));
System.out.println("-".repeat(50));
sm.forEach(s -> {
System.out.println(Util.left("" + s.getId(), 10) + Util.left(s.getName(), 10) + Util.left(s.getGender(), 10) + Util.left(String.valueOf(s.getAge()), 10) + Util.left(s.getAddress(), 30));
});
System.out.println("-".repeat(50));
System.out.printf("共有学生人数%d%n", sm.size());
}
public static void delete(List<Student> sm) {
System.out.println(Util.conker("删除", 20, " "));
Scanner sc = new Scanner(System.in);
System.out.println("请输入删除学生学号");
int sno = sc.nextInt();
boolean f = false;
for (int i = 0; i < sm.size(); i++) {
Student st = sm.get(i);
if (st.getId() == sno) {
f = true;
sm.remove(i);
}
}
if (f) {
System.out.println("删除成功");
} else {
System.out.println("删除失败,请检查学号...");
}
}
public static void amend(List<Student> sm) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改学生的学号:");
int sid = sc.nextInt();
int index = -1;
for (int i = 0; i < sm.size(); i++) {
Student st = sm.get(i);
if (st.getId() == sid) {
index = i;
break;
}
}
if (index != -1) {
System.out.println("请输入新的学生学号:");
int id = sc.nextInt();
System.out.println("请输入新的学生姓名:");
String name = sc.next();
System.out.println("请输入新的学生年龄:");
int age = sc.nextInt();
System.out.println("请输入新的学生性别:");
String gender = sc.next();
System.out.println("请输入新的学生住址:");
String address = sc.next();
Student st = new Student();
st.setId(id);
st.setName(name);
st.setAge(age);
st.setGender(gender);
st.setAddress(address);
sm.set(index, st);
System.out.println("学生信息修改成功");
} else {
System.out.println("信息不存在,请检查学号");
}
}
public static String left(String str, int length) {
return String.format("%-" + length + "s", str);
}
public static String right(String str, int length) {
return String.format("%" + length + "s", str);
}
public static String conker(String str, int length, String ch) {
int size = (length - str.length()) / 2;
return ch.repeat(size).concat(str).concat(ch.repeat(size));
}
}