首先就是系统的需求分析:
步骤如下:
A:定义学生类
B:学生管理系统的主界面代码编写。
C:学生管理系统的查看所有学生信息代码的编写。
D:学生管理系统的添加学生信息的代码编写。
E:学生管理系统的删除学生信息的代码编写。
F:学生管理系统的修改学生信息的代码编写。
A:新建一个学生类Student,代码如下:
public class Student {
private String id;//学号
private String name;//姓名
private String age;//年龄
private String address;//住址
public Student() {
}
public Student(String id, String name, String age, String address) {
super();
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
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 String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
B:学生管理系统的主界面代码编写,代码如下:
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 choiceString = sc.nextLine();
// 用switch实现选择
switch (choiceString) {
case "1":
// 查看学生信息
findAllStudent(array);
break;
case "2":
// 添加学生信息
addStudent(array);
break;
case "3":
// 删除学生信息
delectStudent(array);
break;
case "4":
// 修改学生信息
updateStudent(array);
break;
case "5":
// 退出
System.out.println("谢谢您的使用!");
System.exit(0);// JVM虚拟机推出
break;
default:
System.out.println("您输入的不正确,请重新输入!");
break;
}
}
之后就是四种共功能方法的代码编写。
查询功能:
public static void findAllStudent(ArrayList<Student> array) {
if (array.size() == 0) {
System.out.println("不好意思,目前没有可供查询的学生信息");// \t就是一个tab键的位置
} else {
System.out.println("学号\t姓名\t年龄\t住址");
for (int x = 0; x < array.size(); x++) {
Student s = array.get(x);
System.out.println(s.getId() + "\t" + s.getName() + "\t" + s.getAge() + "\t" + s.getAddress());
}
}
}
添加功能:
public static void addStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System.in);
String id;
while (true) {
System.out.println("请输入学生学号:");
id = sc.nextLine();
boolean flag = false;
for (int x = 0; x < array.size(); x++) {
Student s = array.get(x);
if (s.getId().equals(id)) {
flag = true;
break;
}
}
if (flag == true) {
System.out.println("您输入的学号已经被占用,请重新输入!");
} else {
break;
}
}
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age = sc.nextLine();
System.out.println("请输入学生住址:");
String address = sc.nextLine();
Student s = new Student();
// 返回学生信息
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAddress(address);
// 将学生信息作为元素添加到集合对象
array.add(s);
// 给出提示
System.out.println("添加学生信息成功!");
}
删除功能:
public static void delectStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除学生的学号:");
String id = sc.nextLine();
int index = -1;
for (int x = 0; x < array.size(); x++) {
Student s = array.get(x);
if (s.getId().equals(id)) {
index = x;
break;
}
}
if (index == -1) {
System.out.println("您输入的学号不存在!");
} else {
array.remove(index);
System.out.println("删除成功!");
}
}
修改功能:
public static void updateStudent(ArrayList<Student> array) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改学生信息的学号:");
String id=sc.nextLine();
int index =-1;
for(int x=0;x<array.size();x++) {
Student s=array.get(x);
if(s.getId().equals(id)) {
index=x;
break;
}
}
if (index == -1) {
System.out.println("您要修改的学号不存在!");
} else {
System.out.println("请输入新的姓名:");
String name=sc.nextLine();
System.out.println("请输入新的年龄:");
String age=sc.nextLine();
System.out.println("请输入新的住址:");
String address=sc.nextLine();
Student s=new Student();
s.setName(name);
s.setAge(age);
s.setAddress(address);
//修改集合中的学生对象
array.set(index, s);
System.out.println("修改学生信息成功!");
}
}
}