2024.9.24- java开学测

news/2024/9/24 20:06:14/文章来源:https://www.cnblogs.com/LiuHuWei/p/18429904

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 referenceSystem.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 newlineswitch (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;
}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/802996.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

任务4:制作二维码

该二维码链接到游戏“植物大战僵尸”,寓教于乐。 提升趣味性和互动性的同时,学生们参与到课堂当中,发挥主体作用,感受到自然界植物的多样性,对土壤的作用有了更深刻的理解。

封装的练习题目1

1.使用面向对象的思想,编写自定义描述狗的信息。设定属性包括:品种,年龄,心 情,名字;方法包括:叫,跑。 要求: 1)设置属性的私有访问权限,通过公有的 get,set 方法实现对属性的访问 2)限定心情只能有“心情好”和“心情不好”两种情况,如果无效输入进行提示, 默认…

五款免费可视化工具全解析:选择你的最佳搭档

1. 山海鲸可视化 介绍: 山海鲸可视化是一款免费的国产可视化报表软件,与许多其他宣传免费的软件不同,山海鲸的报表功能完全免费并且没有任何限制,就连网站管理后台这个功能也是免费的。同时山海鲸可视化还提供了种类丰富的可视化图表、三维模型、模板可供使用,软件采用点击…

408OS_PV操作大题总结

咸鱼今年压了读者写者问题,前几年没考过。死锁的四个条件是:禁止抢占(no preemption):系统资源不能被强制从一个线程中退出。 持有和等待(hold and wait):一个线程在等待时持有并发资源。持有并发资源并还等待其它资源,也就是吃着碗里的望着锅里的。 互斥(mutual exc…

2024.9.24 思维导图与PDF

哈哈哈终于有我也用过的东西啦~Xmind一款打工人用了都说好的软件(#.#) 【知识小课堂1】不同款式的思维导图:【知识小课堂2】PDF转换器! 1、PDF(便携式文档格式),这种文件格式与操作系统平台无关 —— PDF文件不管是在Windows还是别的操作系统中都是通用的。 2、这一特点使它…

如何设计一个伪无埋点的框架?

主要基于无埋点的缺点,来设计一个伪无埋点的框架,使得业务既可以拥有无埋点的特性,又能满足业务的数据分析需求本文同步发布于公众号:移动开发那些事如何设计一个伪无埋点的框架 在前面的文章:Android无埋点技术概览 中提到传统的无埋点有几大缺点:埋点字段有限,没有办法…

吴恩达机器学习课程 笔记4 分类 逻辑回归

逻辑回归 机器学习中的逻辑回归(Logistic Regression)是一种广泛使用的分类算法,尽管它的名字中包含“回归”这个词,但实际上它主要用于解决分类问题,特别是二分类问题。逻辑回归模型可以用来预测某一类事件发生的概率,例如预测用户是否会点击广告、病人是否患有某种疾病…

设计模式之中介模式(三分钟学会一个设计模式)

中介模式(Mediator)又称之为调停模式。mediator [ˈmiːdieɪtə(r)] n. 调停者;斡旋者;解决纷争的人(或机构); 本意就是解决纠纷的中间人它是面向对象六大原则中最少知道原则的一个典型应用。(关于面向对象六大原则,可看前文:https://www.cnblogs.com/jilodream/p/535351…

Large Vision Model

LVM https://yutongbai.com/lvm.html https://zhuanlan.zhihu.com/p/671423679Large Vision Model(简称LVM)是一种纯粹基于视觉数据进行训练和推理的大型模型,其特点在于无需涉及任何自然语言输入或输出。该模型的提出源自一篇由UC Berkeley的三位计算机视觉专家联合撰写的论…

2024 天池云原生编程挑战赛决赛名单出炉,冠军来自中山大学、昆仑数智战队

9 月 20 日,2024 天池云原生编程挑战赛决赛答辩完美落幕,12 支进入决赛的团队用精彩的答辩,为历时 3 个月的大赛画下了圆满的句号。其中,来自中山大学的陈泓仰以及来自昆仑数智的冉旭欣、沈鑫糠、武鹏鹏,以出色的方案、创新的优化思路、过硬的技术实力分获赛道一和赛道二的…

1panle搭建的maxkb增加本地向量模型

首先下载模型,比如m3e-large,并上传到/opt/maxkb/model/local_embedding/ 目录,没有就创建 目录如下:然后修改1panel的容器信息,点击右边的编辑:在下方的挂在目录处点击添加:在两个框都输入: /opt/maxkb/model/local_embedding 然后,确认保存,再重启容器 重启成功后…