2024.9.24- java开学测

1、定义student类,其中包括五个私有变量(stunumber,name,age,sex,score)。
各成员的含义如下:
变量stunumber为字符串类型String,用于存储学生的学号(有8位数字组成)。
变量name为字符串类型String,用于存储学生的姓名。
变量age为int类型,用于存储学生的年龄。
变量sex为boolean类型,用于存储学生的性别,男生为false,女生为true。变量score为double类型,用于存储学生的成绩。
并对每个变量定义get()(读取变量信息)和set()(设置变量信息)的方法。
赋初值方法包括五个参数,用于为变量(stunumber ,name,age,sex和score)赋值。
2、定义StudentManager类实现下列要求。
(1)利用数组实现至少存储五个学生的信息;(将考生信息作为第一条记录)。
(2)定义showStudent()方法打印输出所有的学生信息;
(3)定义addStudent (stunumber,name,age,sex,score)方法增加一名新学生的信息,需要判断学号是否重复,如果重复提示用户,并禁止增加新学生信息;
(4)定义deleteStudent(stunumber)方法删除一名学生信息(将该学生所有信息清空);
(5)定义updateStudent (stunumber,name,age,sex,score)方法修改学生信息;
(6)定义selectStudent(stunumber)查询并且输出该名学生的全部信息。
(7)定义一个输入界面如下图所示,选择相应的数字执行相应的功能
***************************************************************
石家庄铁道大学软件工程系学生信息管理系统


1、遍历输出学生信息;
2、新学生信息录入;
3、删除学生信息;
4、修改学生信息;
5、查询学生信息;


import java.util.Scanner;

public class StudentManager {
    private Student[] students = new Student[5];
    private int count = 0;
    private Scanner scanner = new Scanner(System.in);

    public void menu() {
        System.out.println("********************************************");
        System.out.println("      石家庄铁道大学软件工程系学生信息管理系统");
        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.println("********************************************");
    }

    public void showStudents() {
        if (count == 0) {
            System.out.println("没有学生信息可显示");
            return;
        }
        for (int i = 0; i < count; i++) {
            System.out.println(students[i]);
        }
    }

    public void addStudent(String stunumber, String name, int age, boolean sex, double score) {
        if (count >= students.length) {
            System.out.println("存储内存已满,无法添加更多学生");
            return;
        }
        for (int i = 0; i < count; i++) {
            if (stunumber.equals(students[i].getStunumber())) {
                System.out.println("该生已存在");
                return;
            }
        }
        students[count++] = new Student(stunumber, name, age, sex, score);
        System.out.println("已存入新学生信息");
    }

    public void deleteStudent(String stunumber) {
        for (int i = 0; i < count; i++) {
            if (stunumber.equals(students[i].getStunumber())) {
                for (int j = i; j < count - 1; j++) {
                    students[j] = students[j + 1];
                }
                students[--count] = null;  // Clear last reference
                System.out.println("已删除学生信息");
                return;
            }
        }
        System.out.println("未找到该学号的学生");
    }

    public void updateStudent(String stunumber, String name, int age, boolean sex, double score) {
        for (int i = 0; i < count; i++) {
            if (stunumber.equals(students[i].getStunumber())) {
                students[i].setName(name);
                students[i].setAge(age);
                students[i].setSex(sex);
                students[i].setScore(score);
                System.out.println("已更新学生信息");
                return;
            }
        }
        System.out.println("未找到该学号的学生");
    }

    public void selectStudent(String stunumber) {
        for (int i = 0; i < count; i++) {
            if (stunumber.equals(students[i].getStunumber())) {
                System.out.println(students[i]);
                return;
            }
        }
        System.out.println("未找到该学号的学生");
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        StudentManager manager = new StudentManager();
        manager.menu();

        while (true) {
            System.out.println("请选择(1-5)");
            int choice = scanner.nextInt();
            scanner.nextLine();  // Consume newline

            switch (choice) {
                case 1:
                    manager.showStudents();
                    break;
                case 2:
                    System.out.println("输入学号");
                    String stunumber = scanner.nextLine();
                    System.out.println("输入姓名");
                    String name = scanner.nextLine();
                    System.out.println("输入年龄");
                    int age = scanner.nextInt();
                    System.out.println("输入性别(true为男,false为女)");
                    boolean sex = scanner.nextBoolean();
                    System.out.println("输入分数");
                    double score = scanner.nextDouble();
                    manager.addStudent(stunumber, name, age, sex, score);
                    break;
                case 3:
                    System.out.println("输入学号");
                    String stunumberToDelete = scanner.nextLine();
                    manager.deleteStudent(stunumberToDelete);
                    break;
                case 4:
                    System.out.println("输入学号");
                    String stunumberToUpdate = scanner.nextLine();
                    System.out.println("输入姓名");
                    String nameToUpdate = scanner.nextLine();
                    System.out.println("输入年龄");
                    int ageToUpdate = scanner.nextInt();
                    System.out.println("输入性别(true为男,false为女)");
                    boolean sexToUpdate = scanner.nextBoolean();
                    System.out.println("输入分数");
                    double scoreToUpdate = scanner.nextDouble();
                    manager.updateStudent(stunumberToUpdate, nameToUpdate, ageToUpdate, sexToUpdate, scoreToUpdate);
                    break;
                case 5:
                    System.out.println("输入学号");
                    String stunumberToSelect = scanner.nextLine();
                    manager.selectStudent(stunumberToSelect);
                    break;
                default:
                    System.out.println("没有该选项,请重新选择");
            }
        }
    }
}

class Student {
    private String stunumber;
    private String name;
    private int age;
    private boolean sex;
    private double score;

    public String getStunumber() { return stunumber; }
    public void setStunumber(String stunumber) { this.stunumber = stunumber; }
    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 boolean getSex() { return sex; }
    public void setSex(boolean sex) { this.sex = sex; }
    public double getScore() { return score; }
    public void setScore(double score) { this.score = score; }

    public Student() {}
    public Student(String stunumber, String name, int age, boolean sex, double score) {
        this.stunumber = stunumber;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.score = score;
    }

    @Override
    public String toString() {
        return "学号: " + stunumber + ", 姓名: " + name + ", 年龄: " + age + ", 性别: " + (sex ? "男" : "女") + ", 分数: " + score;
    }
}
posted @   呓语-MSHK  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示