该系统主要功能如下:
添加学生:通过键盘录入学生信息,添加到集合中
删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除
修改学生:通过键盘录入要修改学生的学号,将该学生对象其他信息进行修改
查看学生:将集合中的学生对象信息进行展示
退出系统:结束程序
学生类——Student.java
package com.company;
/**
* @author 10025
* @date 2020/9/23 19:07
*/
public class Student {
private String sid;
private String sname;
private String ssex;
private String sage;
private String address;
public Student(){}
public Student(String sid, String sname, String ssex, String sage, String address){
this.sname = sname;
this.address = address;
this.ssex = ssex;
this.sid = sid;
this.sage = sage;
}
public String getSid(){return sid;}
public String getSname(){return sname;};
public String getSsex() {return ssex;}
public String getSage() {return sage;}
public String getAddress() { return address;}
public void setSid(String sid) {
this.sid = sid;
}
public void setSname(String sname) {
this.sname = sname;
}
public void setSsex(String ssex) {
this.ssex = ssex;
}
public void setSage(String sage) {
this.sage = sage;
}
public void setAddress(String address) {
this.address = address;
}
}
系统设计——StudentManager.java
package com.company;
import javax.sound.midi.SysexMessage;
import java.util.ArrayList;
import java.util.Scanner;
/**
* @author 10025
* @date 2020/9/23 19:17
*/
public class StudentManager {
public static void main(String[] args) {
ArrayList array = new ArrayList();
while (true) {
//编写主界面
System.out.println("**********学生管理系统**********");
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);
String line = sc.nextLine();
//操作选择判断
switch (line) {
case "1":
addStudent(array);
break;
case "2":
delStudent(array);
break;
case "3":
updataStudent(array);
break;
case "4":
printStudent(array);
break;
case "5":
System.out.println("成功退出!");
System.exit(0); //JVM退出
default:
System.out.println("选择有误!");
}
}
}
//判断集合中是否有信息存在
private static void printStudent(ArrayList array) {
if (array.size() == 0) {
System.out.println("无学生信息,请先添加!");
return;
}
//显示表头,\t是一个tab键的位置
System.out.println("学号\t姓名\t性别\t年龄\t居住地");
//显示信息
for (int i = 0; i < array.size(); i++) {
Student S = array.get(i);
System.out.println(S.getSid() + "\t\t" + S.getSname() + "\t" + S.getSsex() + "\t\t" + S.getSage() + "岁\t" + S.getAddress());
}
}
//添加学生信息
public static void addStudent(ArrayList array) {
Scanner s = new Scanner(System.in);
String sid;
while (true) {
System.out.println("请输入学生学号: ");
sid = s.nextLine();
boolean flag = isUsed(array, sid);
if (flag) {
System.out.println("学生信息已存在,请前往修改或查看!");
} else {
break;
}
}
System.out.println("请输入学生姓名: ");
String name = s.nextLine();
System.out.println("请输入学生性别: ");
String sex = s.nextLine();
System.out.println("请输入学生年龄: ");
String age = s.nextLine();
System.out.println("请输入学生住址: ");
String address = s.nextLine();
//创建学生对象
Student st = new Student();
st.setSid(sid);
st.setSname(name);
st.setSsex(sex);
st.setSage(age);
st.setAddress(address);
//添加到集合中
array.add(st);
System.out.println("添加成功!");
}
//判断学生是否已经存在
//存在返回true,否则返回false
public static boolean isUsed(ArrayList array, String sid) {
boolean flage = false;
for (int i = 0; i < array.size(); i++) {
Student S = array.get(i);
if (S.getSid().equals(sid)) {
flage = true;
break;
}
}
return flage;
}
//删除学生信息
public static void delStudent(ArrayList array) {
if (array.size() == 0) {
System.out.println("无学生信息,请先添加!");
return;
}
Scanner s = new Scanner(System.in);
System.out.println("请输入要删除的学生学号: ");
String sid = s.nextLine();
//获取要删除学生的标号
int index = -1;
for (int i = 0; i < array.size(); i++) {
Student st = array.get(i);
if (st.getSid().equals(sid)) {
index = i;
break;
}
//判断该生是否在集合中
if (index == -1) {
System.out.println("该学生信息不存在,请确认学号或重新添加!");
} else {
array.remove(index);
System.out.println("成功删除!");
}
}
}
//修改学生信息
public static void updataStudent(ArrayList array) {
if (array.size() == 0) {
System.out.println("无学生信息,请先添加!");
return;
}
Scanner s = new Scanner(System.in);
System.out.println("请输入要修改的学生学号: ");
String sid = s.nextLine();
//获取要修改学生的标号
int index = -1;
for (int i = 0; i < array.size(); i++) {
Student st = array.get(i);
if (st.getSid().equals(sid)) {
index = i;
break;
}
//判断该生是否在集合中
if (index == -1) {
System.out.println("该学生信息不存在,请确认学号或重新添加!");
} else {
System.out.println("开始修改学生信息!");
//键盘录入要修改的学生信息
System.out.println("请输入学生新姓名:");
String name = s.nextLine();
System.out.println("请输入学生新年龄:");
String age = s.nextLine();
System.out.println("请输入学生新居住地:");
String address = s.nextLine();
//创建学生对象
Student St = new Student();
St.setSid(sid);
St.setSname(name);
St.setSage(age);
St.setAddress(address);
//遍历集合修改对应的学生信息
for (int m = 0; m < array.size(); m++) {
Student student = array.get(m);
if (student.getSid().equals(sid)) {
array.set(m, St);
}
}
}
}
}
}
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号:
1
请输入学生学号:
021
请输入学生姓名:
xxx
请输入学生性别:
女
请输入学生年龄:
20
请输入学生住址:
曹妃甸
添加成功!
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号:
4
学号 姓名 性别 年龄 居住地
021 xxx 女 20岁 曹妃甸
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号:
1
请输入学生学号:
12
请输入学生姓名:
lll
请输入学生性别:
女
请输入学生年龄:
21
请输入学生住址:
曹妃甸
添加成功!
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号:
4
学号 姓名 性别 年龄 居住地
021 xxx 女 20岁 曹妃甸
12 lll 女 21岁 曹妃甸
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号:
2
请输入要删除的学生学号:
20
该学生信息不存在,请确认学号或重新添加!
该学生信息不存在,请确认学号或重新添加!
**********学生管理系统**********
请选择如下操作之一:
1——添加学生信息
2——删除学生信息
3——修改学生信息
4——查看所有学生信息
5——退出系统
请输入操作序号: