首页 > 编程语言 >2024.9.24- java开学测

2024.9.24- java开学测

时间:2024-09-24 20:01:46浏览次数:8  
标签:24 java String 2024.9 System stunumber println public out

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;
}

}

标签:24,java,String,2024.9,System,stunumber,println,public,out
From: https://www.cnblogs.com/LiuHuWei/p/18429904

相关文章

  • 美团2024年秋招第一场笔试【算法】
    1. 小美的因子查询题目链接:校招笔试真题_算法工程师、大数据开发工程师_牛客网小美对偶数因子很感兴趣,她将进行 T 次询问,每次都会给出一个正整数 x,请你告诉她 x 是否存在至少一个偶数因子。也就是说 x 是否存在某个因子是偶数。思路:一个数若存在因子是偶数则因子一......
  • SolidJS-每日小知识(9/24)
    对图片指定范围的区域进行填充显示1定义变量,svg和image//用于保存SVG元素的引用const[svgRef,setSvgRef]=createSignal<SVGSVGElement|null>(null);//图像原始尺寸constimageSize={width:11920,height:16850};//裁剪区域constcroppedScope......
  • java基础篇之反射(简单详细,快速入门)
    @[TOC]希望本文能帮助你增加对反射的理解反射的简单叙述及相关性质反射的源头——Class类反射的主要应用反射的简单叙述及相关性质能够分析类能力的程序为反射,反射机制的功能极其强大,下面我们就来简单举个例子publicclassStudent{privateStringname;......
  • 2024.9.24 思维导图与PDF
    哈哈哈终于有我也用过的东西啦~Xmind一款打工人用了都说好的软件(#.#)【知识小课堂1】不同款式的思维导图:【知识小课堂2】PDF转换器!1、PDF(便携式文档格式),这种文件格式与操作系统平台无关——PDF文件不管是在Windows还是别的操作系统中都是通用的。2、这一特点使它成为在I......
  • Java学习笔记(上)——动力节点老杜(某站2000万播放)
    此文章是本人大一学习java时记的笔记,原视频在https://www.bilibili.com/video/BV1Rx411876f,配套服用更佳!一.JAVA开发环境的搭建1.常用的Dos命令1.1win+r打开Dos命令窗口1.2什么是Dos命令在最初的计算机中没有图形界面,也就是说通过Dos命令窗口可以完全完成文件的新建、......
  • 【软考机考问答】—2024软考机考时间注意事项
    一、2024各地软考机考报名时间地区      报名时间 报名入口  免费题库  备考培训广东8月21日9:00-8月29日17:00报名入口免费题库备考培训江西8月20日9:00-9月13日17:00报名入口 免费题库备考培训安徽8月23日9:00-9月3日16:00报名入口免费题库备考培训甘肃8月26......
  • 2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
    9月20日,2024天池云原生编程挑战赛决赛答辩完美落幕,12支进入决赛的团队用精彩的答辩,为历时3个月的大赛画下了圆满的句号。其中,来自中山大学的陈泓仰以及来自昆仑数智的冉旭欣、沈鑫糠、武鹏鹏,以出色的方案、创新的优化思路、过硬的技术实力分获赛道一和赛道二的冠军。赛道一......
  • JavaEE——多线程
    接着上篇博客我们已经学习了进程的相关概念,了解到进程里面的相关重要属性,那么这篇博客呢我们要学习一个新的知识点——线程!一、引入进程的目的首先引入进程这个概念,是为了解决“并发编程”这样的问题。因为CPU再往小了做,比较困难了,这是因为CPU进入了多核心的时代,要想进一......
  • 2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队
    9月20日,2024天池云原生编程挑战赛决赛答辩完美落幕,12支进入决赛的团队用精彩的答辩,为历时3个月的大赛画下了圆满的句号。其中,来自中山大学的陈泓仰以及来自昆仑数智的冉旭欣、沈鑫糠、武鹏鹏,以出色的方案、创新的优化思路、过硬的技术实力分获赛道一和赛道二的冠军。赛道......
  • JavaEE——多线程Thread 类及常见方法
    目录 一、Thread(Stringname)二、是否后台线程isDeamon()三、是否存活isAlive()四、run()方法和start()方法的区别五、中断线程法一:法二:六、线程等待join()七、线程休眠sleep()一、Thread(Stringname)定义:这个东西是给线程(thread对象)起一个名字。起一个......