1. 学生类
包含四个属性,学号、姓名、年龄及地址。类中包含一个无参构造、一个有参构造以及各属性的 get、set 方法。
package com.zxe;
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) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(String age) {
this.age = age;
}
public String getAge() {
return age;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
}
2. 学生管理类
① 这里 psvm 直接帮我们生成 main 方法;
② 主函数里用输出语句打印出主界面;
③ 用户自由选择要进行的操作,程序根据键盘录入的数据做出下一步判断,所以我们用 switch 对键盘录入的选项编号进行一个判断;
④ 不同的选项对应不同的功能,包括添加、删除、修改、查看、退出等功能,我们可以把这些不同的功能模块都封装在不同的方法里,需要时直接调用即可;
⑤ 在完成一次操作后,我们希望它能够再次返回主界面,以供下一次操作,这里我们通过死循环 while(true) 来实现,这样程序就不会退出来,一直运行;
⑥ 其中一个功能是退出功能,这个如何实现呢?直接使用语句 System.exit(0) 退出系统;
⑦ 当用户输入的编号非系统所给选项时,要给出提示,其他情况用 default 完成;
⑧ 各个功能模块所对应的方法,因为涉及到增删改查,所以都需要用到集合,公共部分为减少代码量,我们直接在主函数 main 里面给出集合的创建;
⑨ 这里需要注意的是,创建集合时不要写在 while(true) 里面,否则所做修改将不会保存,即集合永远为空;
⑩ 根据学号对学生进行修改及删除操作时,我们需要拿键盘录入的学号与所有学生的学号进行比对,只有内容一致才可进行改动,因为 String 是引用类型,切忌不可直接通过双等号进行字符串内容的比较,而要使用 equal() 方法来实现。
package com.zxe;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
while (true) {
System.out.println("———————————— 欢迎来到学生管理系统 ————————————");
System.out.println();
System.out.println("1.添加学生\n2.删除学生\n3.修改学生\n4.查看所有学生\n5.退出");
System.out.println("\n请输入你的选择:\n");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
switch (x) {
case 1:
addStudent(array);
break;
case 2:
deleteStudent(array);
break;
case 3:
setStudent(array);
break;
case 4:
allStudent(array);
break;
case 5:
System.out.println("谢谢使用!\n");
System.exit(0);
default:
System.out.println("请输入正确的选项!\n");
}
}
}
public static void addStudent(ArrayList<Student> array) {
Scanner s = new Scanner(System.in);
System.out.println("请输入学生学号:");
String id = s.nextLine();
System.out.println("请输入学生姓名:");
String name = s.nextLine();
System.out.println("请输入学生年龄:");
String age = s.nextLine();
System.out.println("请输入学生地址:");
String address = s.nextLine();
Student student = new Student();
student.setId(id);
student.setName(name);
student.setAge(age);
student.setAddress(address);
array.add(student);
System.out.println("添加成功!\n");
}
public static void deleteStudent(ArrayList<Student> array) {
Scanner s = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String id = s.nextLine();
for (int i = 0; i < array.size(); i++) {
Student student = array.get(i);
if ((i == array.size() - 1) && student.getId().equals(id) == false) {
System.out.println("删除失败,该学生不存在!\n");
} else {
if (student.getId().equals(id)) {
array.remove(i);
System.out.println("删除成功!\n");
break;
}
}
}
}
public static void setStudent(ArrayList<Student> array) {
Scanner s = new Scanner(System.in);
System.out.println("请输入要修改信息学生的学号:");
String id = s.nextLine();
System.out.println("请输入修改后的姓名:");
String name = s.nextLine();
System.out.println("请输入修改后的年龄:");
String age = s.nextLine();
System.out.println("请输入修改后的地址:");
String address = s.nextLine();
Student student = new Student();
student.setId(id);
student.setName(name);
student.setAge(age);
student.setAddress(address);
for (int i = 0; i < array.size(); i++) {
Student stu = array.get(i);
if ((i == array.size() - 1) && stu.getId().equals(id) == false) {
System.out.println("修改失败,该学生不存在!\n");
} else {
if (stu.getId().equals(id)) {
array.set(i, student);
System.out.println("修改成功!\n");
break;
}
}
}
}
public static void allStudent(ArrayList<Student> array) {
System.out.println("全部学生信息如下:\n");
System.out.println("学号\t姓名\t年龄\t地址\n");
for (int i = 0; i < array.size(); i++) {
Student student = array.get(i);
System.out.println(student.getId() + "\t " + student.getName() + "\t " + student.getAge() + "\t " + student.getAddress() + "\n");
}
}
}
3. 运行结果
① 添加学生
② 查看所有学生
③ 修改学生
④ 删除学生
⑤ 退出
转载:https://blog.csdn.net/m0_52861684/article/details/129147746