1)针对实验一的student表,用java语言编程实现学生信息的查询、添加、修改和删除功能。 (2)针对不同功能,要设计相应的用户界面。 (3)可以根据学生学号或姓名查询学生信息。
时间: 2023-11-28 13:48:01 浏览: 171
Java实现学生信息管理系统的图形用户界面示例代码,包括添加、删除、修改和查询学生信息的功能
以下是一个简单的使用Java语言编写的学生信息管理系统,实现了查询、添加、修改和删除功能,并为每个功能设计了相应的用户界面。
```java
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManagementSystem {
private static ArrayList<Student> students = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择您需要的功能:");
System.out.println("1. 查询学生信息");
System.out.println("2. 添加学生信息");
System.out.println("3. 修改学生信息");
System.out.println("4. 删除学生信息");
System.out.println("5. 退出系统");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
queryStudent(scanner);
break;
case 2:
addStudent(scanner);
break;
case 3:
modifyStudent(scanner);
break;
case 4:
deleteStudent(scanner);
break;
case 5:
System.exit(0);
break;
default:
System.out.println("输入有误,请重新输入!");
break;
}
}
}
private static void queryStudent(Scanner scanner) {
System.out.println("请选择查询方式:");
System.out.println("1. 按学号查询");
System.out.println("2. 按姓名查询");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
System.out.println("请输入学号:");
String id = scanner.nextLine();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println(student);
return;
}
}
System.out.println("未找到该学生!");
break;
case 2:
System.out.println("请输入姓名:");
String name = scanner.nextLine();
for (Student student : students) {
if (student.getName().equals(name)) {
System.out.println(student);
return;
}
}
System.out.println("未找到该学生!");
break;
default:
System.out.println("输入有误,请重新输入!");
break;
}
}
private static void addStudent(Scanner scanner) {
System.out.println("请输入学生信息:");
System.out.println("学号:");
String id = scanner.nextLine();
System.out.println("姓名:");
String name = scanner.nextLine();
System.out.println("性别:");
String gender = scanner.nextLine();
System.out.println("年龄:");
int age = scanner.nextInt();
scanner.nextLine();
students.add(new Student(id, name, gender, age));
System.out.println("添加成功!");
}
private static void modifyStudent(Scanner scanner) {
System.out.println("请输入学号:");
String id = scanner.nextLine();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println("请输入修改后的信息:");
System.out.println("姓名(当前为" + student.getName() + "):");
String name = scanner.nextLine();
System.out.println("性别(当前为" + student.getGender() + "):");
String gender = scanner.nextLine();
System.out.println("年龄(当前为" + student.getAge() + "):");
int age = scanner.nextInt();
scanner.nextLine();
student.setName(name);
student.setGender(gender);
student.setAge(age);
System.out.println("修改成功!");
return;
}
}
System.out.println("未找到该学生!");
}
private static void deleteStudent(Scanner scanner) {
System.out.println("请输入学号:");
String id = scanner.nextLine();
for (Student student : students) {
if (student.getId().equals(id)) {
students.remove(student);
System.out.println("删除成功!");
return;
}
}
System.out.println("未找到该学生!");
}
}
class Student {
private String id;
private String name;
private String gender;
private int age;
public Student(String id, String name, String gender, int age) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
}
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 getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "学号:" + id + ",姓名:" + name + ",性别:" + gender + ",年龄:" + age;
}
}
```
上述代码中,我们使用了一个`ArrayList`来存储学生信息,并在`main`方法中通过循环展示了功能菜单。在用户选择功能后,我们调用相应的方法来进行查询、添加、修改和删除操作。每个操作都有一个对应的方法,并在方法中实现了相应的业务逻辑。例如,在查询学生信息的方法中,我们先让用户选择查询方式(按学号或姓名),然后通过遍历`students`列表来查找符合条件的学生。在修改学生信息的方法中,我们首先要让用户输入要修改的学生的学号,并通过遍历`students`列表来查找该学生。如果找到了该学生,我们就让用户输入修改后的信息,并将相应的属性值修改。其他方法的实现方式类似。
此外,我们还定义了一个`Student`类来表示学生信息,并重写了`toString`方法来方便输出学生信息。在添加学生信息的方法中,我们通过创建一个`Student`对象来保存用户输入的学生信息,并将其添加到`students`列表中。在删除学生信息的方法中,我们通过遍历`students`列表来查找要删除的学生,并使用`remove`方法将其从列表中删除。
在用户选择查询方式后,我们还通过调用`Scanner`类的`nextLine`方法来吞掉用户输入的回车符,以防止在下一次输入时出现问题。
阅读全文