用java写一个程序,学生管理系统: 1.系统首页:显示系统所有操作,并根据用户在控制台的输入选择要使用的功能 2.查询功能:用户选择该功能后,打印所有学生的信息 3.添加功能:用户选择该功能后,要求用户在控制台输入学生学号、姓名、年龄的基本信息。在输入学号时,系统需要判断该学号是否被占用,如果被占用则添加失败,并给出相应提示;反之则添加成功,给出提示。 4.删除功能:用户选择该功能后,提示用户在控制台输入需要删除的学生学号,如果学号存在则删除并提示,否则提示删除失败。 5.修改功能:用户选择该功能后,提示用户在控制台需要修改的学生学号、姓名、年龄,并使用学号判断学生是否存在,如果存在,修改并提示成功,否则提示修改失败。 6.退出功能:用户选择该功能后,系统正常关闭
时间: 2024-03-01 12:51:58 浏览: 8
好的,以下是Java代码实现学生管理系统的基本功能。注意,本代码只提供参考,可能还有需要完善的地方,具体实现还需要按照具体需求进行修改。
```
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Student> students = new ArrayList<>();
boolean exit = false;
while (!exit) {
// 显示系统功能菜单
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.print("请选择需要使用的功能:");
int choice = scanner.nextInt();
switch (choice) {
case 1:
// 查询学生信息
for (Student student : students) {
System.out.println(student);
}
break;
case 2:
// 添加学生信息
System.out.print("请输入学号:");
String id = scanner.next();
System.out.print("请输入姓名:");
String name = scanner.next();
System.out.print("请输入年龄:");
int age = scanner.nextInt();
Student newStudent = new Student(id, name, age);
if (students.contains(newStudent)) {
System.out.println("添加失败,学号已存在!");
} else {
students.add(newStudent);
System.out.println("添加成功!");
}
break;
case 3:
// 删除学生信息
System.out.print("请输入需要删除的学生学号:");
String deleteId = scanner.next();
boolean isDeleted = false;
for (Student student : students) {
if (student.getId().equals(deleteId)) {
students.remove(student);
System.out.println("删除成功!");
isDeleted = true;
break;
}
}
if (!isDeleted) {
System.out.println("删除失败,学号不存在!");
}
break;
case 4:
// 修改学生信息
System.out.print("请输入需要修改的学生学号:");
String modifyId = scanner.next();
boolean isModified = false;
for (Student student : students) {
if (student.getId().equals(modifyId)) {
System.out.print("请输入新的学号(如不修改,输入原学号):");
String newId = scanner.next();
System.out.print("请输入新的姓名(如不修改,输入原姓名):");
String newName = scanner.next();
System.out.print("请输入新的年龄(如不修改,输入原年龄):");
int newAge = scanner.nextInt();
if (!newId.equals(modifyId)) {
if (students.contains(new Student(newId))) {
System.out.println("修改失败,该学号已存在!");
break;
} else {
student.setId(newId);
}
}
if (!newName.equals(student.getName())) {
student.setName(newName);
}
if (newAge != student.getAge()) {
student.setAge(newAge);
}
System.out.println("修改成功!");
isModified = true;
break;
}
}
if (!isModified) {
System.out.println("修改失败,学号不存在!");
}
break;
case 5:
// 退出系统
System.out.println("谢谢使用学生管理系统!");
exit = true;
break;
default:
System.out.println("输入有误,请重新输入!");
break;
}
System.out.println();
}
scanner.close();
}
}
class Student {
private String id;
private String name;
private int age;
public Student() {
}
public Student(String id) {
this.id = id;
}
public Student(String id, String name, int age) {
this.id = id;
this.name = name;
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Student) {
Student s = (Student) obj;
return this.id.equals(s.id);
}
return false;
}
@Override
public String toString() {
return "学号:" + id + ",姓名:" + name + ",年龄:" + age;
}
}
```