import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class StudentManagementSystem {
static List<Student> studentList = new ArrayList<>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
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("6.退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent();
break;
case 2:
searchStudent();
break;
case 3:
modifyStudent();
break;
case 4:
deleteStudent();
break;
case 5:
displayAllStudents();
break;
case 6:
System.exit(0);
default:
System.out.println("输入无效,请重新输入!");
break;
}
}
}
private static void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = scanner.nextLine();
System.out.println("请输入学生体重:");
int age = scanner.nextInt();
scanner.nextLine();
System.out.println("请输入学生性别:");
String gender = scanner.nextLine();
System.out.println("请输入学生学号:");
String number = scanner.nextLine();
System.out.println("请输入学生课程:");
String className = scanner.nextLine();
Student student = new Student(name, age, gender, number, className);
studentList.add(student);
System.out.println("添加成功!");
}
private static void searchStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要查询的学生学号:");
String number = scanner.nextLine();
for (Student student : studentList) {
if (student.getNumber().equals(number)) {
System.out.println(student);
return;
}
}
System.out.println("没有找到该学生!");
}
private static void modifyStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的学生学号:");
String number = scanner.nextLine();
for (Student student : studentList) {
if (student.getNumber().equals(number)) {
System.out.println("请输入学生姓名(原姓名:" + student.getName() + "):");
String name = scanner.nextLine();
student.setName(name);
System.out.println("请输入学生体重(原体重:" + student.getAge() + "):");
int age = scanner.nextInt();
student.setAge(age);
scanner.nextLine();
System.out.println("请输入学生性别(原性别:" + student.getGender() + "):");
String gender = scanner.nextLine();
student.setGender(gender);
System.out.println("请输入学生课程(原课程:" + student.getClassName() + "):");
String className = scanner.nextLine();
student.setClassName(className);
System.out.println("修改成功!");
return;
}
}
System.out.println("没有找到该学生!");
}
private static void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要删除的学生学号:");
String number = scanner.nextLine();
for (int i = 0; i < studentList.size(); i++) {
if (studentList.get(i).getNumber().equals(number)) {
studentList.remove(i);
System.out.println("删除成功!");
return;
}
}
System.out.println("没有找到该学生!");
}
private static void displayAllStudents() {
for (Student student : studentList) {
System.out.println(student);
}
}
}
class Student {
private String name;
private int age;
private String gender;
private String number;
private String className;
public Student(String name, int age, String gender, String number, String className) {
this.name = name;
this.age = age;
this.gender = gender;
this.number = number;
this.className = className;
}
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 getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
@Override
public String toString() {
return "姓名:" + name + ",体重:" + age + ",性别:" + gender + ",学号:" + number + ",课程:" + className;
}
}
为什么运行出来姓名和性别都是? 不能中文出来只能英文
https://blog.csdn.net/weixin_63537982/article/details/127947203
该回答引用ChatGPT4与博主@晓码自在合作编写:
这里是一个Java实现的学生信息管理系统,功能包括:
实体类Student:
java
public class Student {
private String name;
private String id;
private double height;
private double weight;
private double javaScore;
private double linuxScore;
// 省略构造器和getter/setter方法
}
主菜单:
java
public class StudentManager {
public static void main(String[] args) {
// 学生列表
List<Student> students = new ArrayList<>();
// 主菜单
while (true) {
System.out.println("1. 添加学生");
System.out.println("2. 查询学生");
System.out.println("3. 修改学生");
System.out.println("4. 删除学生");
System.out.println("5. 计算Java平均成绩");
System.out.println("6. 计算某学生平均成绩");
System.out.println("0. 退出");
int choice = ScannerUtil.readInt();
switch (choice) {
case 1:
// 添加学生逻辑
break;
// ...
case 0:
System.exit(0);
}
}
}
}
1. 添加学生:
java
Student stu = new Student();
System.out.print("姓名:");
stu.setName(ScannerUtil.readLine());
// 输入其他信息...
students.add(stu);
2. 查询学生:
java
System.out.print("输入要查询的学生姓名:");
String name = ScannerUtil.readLine();
for (Student stu : students) {
if (stu.getName().equals(name)) {
// 打印学生信息
break;
}
}
其他功能也是类似实现,在此不再赘述。
public static void printTree(Node<String> node, String appender){
System.out.println(appender+node.getData());
node.getChildren().forEach(each -> printTree(each,appender+appender));
}