目录
1. 学生类的定义
首先,我们需要定义一个 Students
类来表示学生对象。这个类包含学生的ID、姓名、年龄和地址等属性,并提供了相应的构造方法和访问方法。
package Student;
public class Students {
private String id;
private String name;
private int age;
private String address;
// 构造方法
public Students(String id, String name, int age, String address) {
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
2. 学生管理系统主程序
接下来,我们编写一个名为 StudentSystem
的主程序类,用于启动学生管理系统并提供用户界面。这个类包含了添加、查询、修改和删除学生信息的方法。
package Student;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentSystem {
public static void main(String[] args) {
// 开始界面
System.out.println("-------------欢迎来到蓝星学生管理系统------------");
ArrayList<Students> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
loop: while (true) {
System.out.println("1:添加学生");
System.out.println("2:查询学生");
System.out.println("3:修改学生");
System.out.println("4:删除学生");
System.out.println("5:退出管理系统");
System.out.println("请输入你的选择:");
String choice = sc.next();
switch (choice) {
case "1" -> addStudents(list);
case "2" -> queryStudents(list);
case "3" -> updateStudents(list);
case "4" -> deleteStudents(list);
case "5" -> {
System.out.println("退出成功!");
break loop;
}
default -> System.out.println("没有这个选项");
}
}
}
// 添加学生信息
public static void addStudents(ArrayList<Students> list) {
Scanner sc = new Scanner(System.in);
Students s = new Students();
System.out.println("请输入学生id");
String id = sc.next();
if (isIdExist(list, id)) {
System.out.println("学生id已存在,请重新输入");
return;
}
s.setId(id);
System.out.println("请输入学生姓名");
String name = sc.next();
s.setName(name);
System.out.println("请输入学生年龄");
int age = sc.nextInt();
s.setAge(age);
System.out.println("请输入学生地址");
String address = sc.next();
s.setAddress(address);
list.add(s);
System.out.printf("学生:" + "%s" + "信息添加成功\n", name);
}
// 查询学生信息
public static void queryStudents(ArrayList<Students> list) {
if (list.size() == 0) {
System.out.println("系统无学生信息");
}
// 输出表头
System.out.printf("%-20s%-20s%-20s%-20s\n", "ID", "学生姓名", "学生年龄", "学生地址");
for (int i = 0; i < list.size(); i++) {
Students stu = list.get(i);
// 输出学生信息
System.out.printf("%-20s%-20s%-20d%-20s\n", stu.getId(), stu.getName(), stu.getAge(), stu.getAddress());
}
}
// 修改学生信息
public static void updateStudents(ArrayList<Students> list) {
if (list.size() == 0) {
System.out.println("系统无学生信息");
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入要修改的学生ID:");
String id = sc.next();
int index = getIndex(list, id);
if (index == -1) {
System.out.println("您输入的id不存在,请重新输入:");
return;
}
int sid = Integer.parseInt(id);
Students stu = list.get(index);
System.out.println(stu.getId() + "\t" + stu.getName() + "\t" + stu.getAge() + "\t" + stu.getAddress());
System.out.println("请输入要修改的学生姓名:");
String newname = sc.next();
stu.setName(newname);
System.out.println("请输入要修改的学生年龄:");
int newage = sc.nextInt();
stu.setAge(newage);
System.out.println("请输入要修改的学生地址:");
String newaddress = sc.next();
stu.setAddress(newaddress);
System.out.println("修改成功");
}
// 删除学生信息
public static void deleteStudents(ArrayList<Students> list) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入想要删除的学生id");
String id = sc.next();
int index = getIndex(list, id);
if (index == -1) {
System.out.println("您输入的id不存在,请重新输入");
}
list.remove(index);
System.out.println("删除成功!");
}
// 输入id获取索引
public static int getIndex(ArrayList<Students> list, String id) {
for (int i = 0; i < list.size(); i++) {
Students stu = list.get(i);
if (stu.getId().equals(id)) {
return i;
}
}
// 如果id不存在则输出-1
return -1;
}
// 判断id是否已存在
public static boolean isIdExist(ArrayList<Students> list, String id) {
for (Students stu : list) {
if (stu.getId().equals(id)) {
return true;
}
}
return false;
}
}
3. 功能实现
- 添加学生信息:通过用户输入学生的ID、姓名、年龄和地址,将学生对象添加到学生列表中。
- 查询学生信息:将学生列表中的学生信息以表格形式展示出来,包括ID、姓名、年龄和地址等。
- 修改学生信息:根据用户输入的学生ID,在学生列表中找到对应的学生对象,然后修改其姓名、年龄和地址等信息。
- 删除学生信息:根据用户输入的学生ID,在学生列表中找到对应的学生对象,并将其从列表中删除。
4.代码结构及结果展示
结构:
结果:
4. 总结
这篇博文主要介绍了如何使用 Java 编程语言实现一个学生管理系统的基础版,包括学生类的定义和学生管理系统主程序的编写,这个系统具有基本的增删改查功能,通过这个项目,我们可以学习到面向对象编程的基本概念和实践方法,希望本文对初学者有所帮助,谢谢阅读!
如果您喜欢本文,欢迎点赞收藏,也可以关注我的专栏获取更多有趣的技术文章。
5.关于作者
作者是一个对 Java 编程和软件开发感兴趣的初学者,希望通过自己的学习和实践,与大家一起分享有趣的技术和项目。如果您对本文有任何问题或建议,欢迎在评论区留言,作者会尽快回复。
标签:Java,list,改查,System,学生,println,增删,id,out From: https://blog.csdn.net/2301_77016331/article/details/139639236