java练习09--学生信息管理系统

public class Student {
    private String name;
    private int id;
    private double score;

    //带参数构造方法
    public Student(String name,int id,double score){//与类同名
        this.name=name;
        this.id=id;
        this.score=score;
    }
    //方法
    public String getName(){
        return name;
    }
    public int getId(){
        return id;
    }
    public double getScore(){
        return score;
    }
}

import java.util.ArrayList;

public class StudentManagementSystem {
    private ArrayList<Student> students;
    //创建一个students的ArrayList对象,students为一个动态数组,<Student>表示该 ArrayList 中存储的是 Student 类型的对象。
    //构造方法
    public StudentManagementSystem(){
        students=new ArrayList<>();//初始化了students变量,将一个新的ArrayList分配给它
    }

    public void addStudent(String name,int id,double score){
        Student newStudent=new Student(name,id,score);//初始化新学生对象的信息
        students.add(newStudent);//将新创建的Student对象newStudent添加到students动态数组中,调用add方法
        System.out.println("学生信息添加成功");
    }
    public void deleteStudent(String name){
        for (int i=0;i<students.size();i++){//使用for循环遍历students的每一对象
            Student student=students.get(i);//调用students.get(i)获取位置,并赋值给student
            if (student.getName().equals(name)) {
                students.remove(i);//调用remove方法
                System.out.println("学生信息删除成功");
                return;//结束方法循环
            }
        }
        System.out.println("未找到学生信息");
    }
    public void display(){
        for(int i=0;i<students.size();i++){
            System.out.println("姓名:"+students.get(i).getName()+"\nID:"+students.get(i).getId()+"\nScore:"+students.get(i).getScore());
        }
    }
}

import java.util.Scanner;

public class TestManagement {
    public static void main(String[] args) {
        StudentManagementSystem sms=new StudentManagementSystem();
        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("请选择操作:");
            int choice= scanner.nextInt();//使用 Scanner 对象 scanner 读取用户输入的操作选项,存储在 choice 变量中。

            switch (choice){//这是一个无限循环,表示程序会一直运行直到手动退出
                case 1:
                    System.out.println("请输入学生姓名:");
                    String name=scanner.next();
                    System.out.println("请输入学生ID:");
                    int id=scanner.nextInt();
                    System.out.println("请输入学生成绩:");
                    double score=scanner.nextInt();
                    break;
                case 2:
                    System.out.println("请输入要删除的学生姓名:");
                    String deleteName=scanner.next();
                    sms.deleteStudent(deleteName);
                    break;
                case 3:
                    sms.display();
                    break;
                case 4:
                    System.out.println("感谢使用");
                    System.exit(0);
                    //参数 0 表示正常退出,非 0 的参数通常表示异常退出。调用 System.exit(0) 会立即终止当前正在运行的 Java 虚拟机(JVM),并且返回状态码 0,表示程序正常结束。
                    break;
                default:
                    System.out.println("输入有误");
            }
        }
    }
}
  1. Student 类表示学生对象,包含姓名、学号和成绩等属性,以及相应的构造方法和获取属性值的方法。

  2. StudentManagementSystem 类实现了学生管理系统的核心功能,包括添加学生信息、删除学生信息和显示学生信息等方法。

  3. TestManagement 类是程序的入口,通过控制台与用户交互,提供操作菜单让用户可以选择添加、删除、显示学生信息或退出系统。

main 方法中,通过一个无限循环来持续接收用户输入并执行相应操作,直到用户选择退出系统(输入 4)。当用户选择退出时,调用 System.exit(0) 来正常结束程序。

如果用户选择添加学生信息(输入 1),则会提示输入学生的姓名、学号和成绩,并调用 addStudent 方法将学生信息添加到系统中。

如果用户选择删除学生信息(输入 2),则会提示输入要删除的学生姓名,并调用 deleteStudent 方法来删除该学生信息。

如果用户选择显示学生信息(输入 3),则会调用 display 方法展示所有学生的姓名、学号和成绩信息。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值