学生管理系统!该系统主要功能如下:
// 添加学生:通过键盘录入学生信息,添加到集合中
// 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
// 修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
// 查看学生:将集合中的学生对象信息进行展示
// 退出系统:结束程序
Menu类
import java.util.LinkedList;
import java.util.Scanner;
public class Menu {
LinkedList<Student> list = new LinkedList<>();
Scanner sc = new Scanner(System.in);
public void menuInterface() {//显示主界面
boolean flag = true;
while(flag) {
new MenuView().mainView();
int select = sc.nextInt();
switch(select) {
case 1:
add();
break;
case 2:
delete();
break;
case 3:
alter();
break;
case 4:
seek();
break;
case 5:
System.out.println("您真的要退出吗?(Y/N)");
if(sc.next().equals("Y")) {
System.exit(0);
}
}
}
}
public void add() {
// 学生管理系统的添加学生功能实现步骤
// 用键盘录入选择添加学生
// 定义一个方法,用于添加学生
// 显示提示信息,提示要输入何种信息
// 键盘录入学生对象所需要的数据
// 创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
// 将学生对象添加到集合中(保存)
// 给出添加成功提示
// 调用方法
//new MenuView().setInfo();
list.add(new MenuView().setInfo());
//boolean flag = new MenuTest().addStudent(stu);
//if(flag)
System.out.println("添加成功");
//else
// System.out.println("添加失败");
}
public void delete() {
// 学生管理系统的删除学生功能实现步骤
// 用键盘录入选择删除学生信息
// 定义一个方法,用于删除学生信息
// 显示提示信息
// 键盘录入要删除的学生学号
// 调用getIndex方法,查找该学号在集合的索引
// 如果索引为‐1,提示信息不存在
// 如果索引不是‐1,调用remove方法删除并提示删除成功
// 调用方法
System.out.println("请输入你想要删除的学生学号");
String sid = sc.next();
int s = getIndex(sid);
if(s != -1) {
list.remove(s);
System.out.println("删除成功");
}else
System.out.println("信息不存在");
}
public void alter() {
// 学生管理系统的修改学生功能实现步骤
// 用键盘录入选择修改学生信息
// 定义一个方法,用于修改学生信息
// 显示提示信息
// 键盘录入要修改的学生学号
// 调用getIndex方法,查找该学号在集合的索引
// 如果索引为‐1,提示信息不存在
// 如果索引不是‐1,键盘录入要修改的学生信息
// 集合修改对应的学生信息
// 给出修改成功提示
// 调用方法
System.out.println("请选择你想要修改的学生:");
String sid1 = sc.next();
int s = getIndex(sid1);
if(s != -1) {
list.set(s, new MenuView().setInfo());
System.out.println("修改成功");
}else
System.out.println("信息不存在");
}
public void seek() {
for(Student stu : list) {
System.out.println(stu);
}
}
public int getIndex(String sid) {
int s1 = 0;
for(int i = 0; i < list.size(); i++) {
if(sid.equals(list.get(i).getSid())) {
int s = list.indexOf(list.get(i));
s1 = s;
}
}
return s1;
}
}
MenuView类
import java.util.Scanner;
public class MenuView {
private Scanner sc;
public MenuView(){
sc = new Scanner(System.in);
}
public void mainView() {
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.print("请选择要进行的操作1-5:");
}
public Student setInfo() {
System.out.print("请输入姓名:");
String name = sc.next();
System.out.print("请输入学号:");
String sid = sc.next();
System.out.print("请输入年龄:");
int age = sc.nextInt();
System.out.print("请输入生日:");
String birthday = sc.next();
Student stu = new Student(name,sid,age,birthday);
return stu;
}
}
Student类
public class Student {
private String name;
private String sid;
private int age;
private String birthday;
public Student() {
}
public Student(String name, String sid, int age, String birthday) {
super();
this.name = name;
this.sid = sid;
this.age = age;
this.birthday = birthday;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String toString() {
return "姓名"+name+"\t"+"学号"+sid+"\t"+"年龄"+age+"岁"+"\t"+"生日"+birthday;
}
}
Test类
public class Test {
public static void main(String[] args) {
Menu m = new Menu();
m.menuInterface();
}
}
由于时间原因,第二次程序做的比较粗糙,有很多可以优化的地方,不过具体功能实现没有问题,所以就没怎么改,大佬看到不要嘲笑,谢谢大家。