当前位置: 首页 > news >正文

结合《人力资源管理系统》的Java基础题

1.编写一个Java方法,接受一个整数数组作为参数,返回该数组中工资高于平均工资的员工数量。假设数组中的每个元素都代表一个员工的工资。

2.设计一个Java方法,接受一个字符串数组和一个关键字作为参数,返回包含该关键字的姓名的员工数量。假设字符串数组中的每个元素都代表一个员工的姓名。

3.编写一个Java方法,接受一个整数数组和一个阈值作为参数,返回超过该阈值的员工数量。假设数组中的每个元素都代表一个员工的年龄。

4.创建一个Java方法,接受一个整数数组和一个工作年限作为参数,返回该工作年限内的员工数量。假设数组中的每个元素都代表一个员工的工作年限。

5.设计一个Java方法,接受一个字符串数组和一个部门名称作为参数,返回该部门的员工数量。假设字符串数组中的每个元素都代表一个员工的部门。

参考代码

package com.hr.work;/*** 类的说明:* 编写一个Java方法,接受一个整数数组作为参数,返回该数组中工资高于平均工资的员工数量。假设数组中的每个元素都代表一个员工的工资。* <p>* 设计一个Java方法,接受一个字符串数组和一个关键字作为参数,返回包含该关键字的姓名的员工数量。假设字符串数组中的每个元素都代表一个员工的姓名。* <p>* 编写一个Java方法,接受一个整数数组和一个阈值作为参数,返回超过该阈值的员工数量。假设数组中的每个元素都代表一个员工的年龄。* <p>* 创建一个Java方法,接受一个整数数组和一个工作年限作为参数,返回该工作年限内的员工数量。假设数组中的每个元素都代表一个员工的工作年限。* <p>* 设计一个Java方法,接受一个字符串数组和一个部门名称作为参数,返回该部门的员工数量。假设字符串数组中的每个元素都代表一个员工的部门。* 格言:认认真真敲代码** @author 汤老师* @date 2024/3/29 15:59*/
public class HRSystem {/*** 1.返回工资高于平均工资的员工数量的方法** @param salaries* @return*/public static int countAboveAverageSalary(int[] salaries) {int total = 0;for (int salary : salaries) {total += salary;}double average = (double) total / salaries.length;int count = 0;for (int salary : salaries) {if (salary > average) {count++;}}return count;}/*** 2.返回包含指定关键字的姓名的员工数量的方法** @param names* @param keyword* @return*/public static int countEmployeesWithKeyword(String[] names, String keyword) {int count = 0;for (String name : names) {if (name.contains(keyword)) {count++;}}return count;}/*** 3.返回超过指定年龄阈值的员工数量的方法** @param ages* @param threshold* @return*/public static int countEmployeesAboveAgeThreshold(int[] ages, int threshold) {int count = 0;for (int age : ages) {if (age > threshold) {count++;}}return count;}/*** 4.返回在指定工作年限内的员工数量的方法** @param workYears* @param years* @return*/public static int countEmployeesWithinYears(int[] workYears, int years) {int count = 0;for (int workYear : workYears) {if (workYear <= years) {count++;}}return count;}/*** 返回指定部门的员工数量的方法** @param departments* @param targetDepartment* @return*/public static int countEmployeesInDepartment(String[] departments, String targetDepartment) {int count = 0;for (String department : departments) {if (department.equals(targetDepartment)) {count++;}}return count;}public static void main(String[] args) {// 测试数据int[] 工资 = {3000, 4000, 5000, 6000, 7000};String[] 姓名 = {"张三", "李四", "王五", "赵六", "钱七"};int[] 年龄 = {25, 30, 35, 40, 45};int[] 工作年限 = {2, 3, 5, 7, 10};String[] 部门 = {"人力资源", "财务", "人力资源", "技术", "人力资源"};// 调用并测试每个方法System.out.println("工资高于平均工资的员工数量: " + HRSystem.countAboveAverageSalary(工资));System.out.println("姓名中包含关键字的员工数量: " + HRSystem.countEmployeesWithKeyword(姓名, "张"));System.out.println("年龄超过阈值的员工数量: " + HRSystem.countEmployeesAboveAgeThreshold(年龄, 35));System.out.println("在指定工作年限内的员工数量: " + HRSystem.countEmployeesWithinYears(工作年限, 5));System.out.println("在人力资源部门的员工数量: " + HRSystem.countEmployeesInDepartment(部门, "人力资源"));}}

参考二

效果

人力资源管理系统
1. 显示所有员工信息
2. 计算工资高于平均工资的员工数量
3. 计算姓名中包含指定关键字的员工数量
4. 计算年龄超过阈值的员工数量
5. 计算在指定工作年限内的员工数量
6. 计算在指定部门的员工数量
0. 退出系统
请选择操作:1
所有员工信息:
姓名    工资    年龄    工作年限    部门
张三    3000    25    2        人力资源
李四    4000    30    3        财务
王五    5000    35    5        人力资源
赵六    6000    40    7        技术
钱七    7000    45    10        人力资源
孙八    3500    27    2        技术
周九    4500    32    4        人力资源
吴十    5500    37    6        财务
郑十一    6500    42    8        技术
冯十二    7500    47    10        人力资源

人力资源管理系统
1. 显示所有员工信息
2. 计算工资高于平均工资的员工数量
3. 计算姓名中包含指定关键字的员工数量
4. 计算年龄超过阈值的员工数量
5. 计算在指定工作年限内的员工数量
6. 计算在指定部门的员工数量
0. 退出系统
请选择操作:2
工资高于平均工资的员工数量: 5
人力资源管理系统
1. 显示所有员工信息
2. 计算工资高于平均工资的员工数量
3. 计算姓名中包含指定关键字的员工数量
4. 计算年龄超过阈值的员工数量
5. 计算在指定工作年限内的员工数量
6. 计算在指定部门的员工数量
0. 退出系统
请选择操作:3
请输入要搜索的关键字:

姓名中包含关键字的员工数量: 1
人力资源管理系统
1. 显示所有员工信息
2. 计算工资高于平均工资的员工数量
3. 计算姓名中包含指定关键字的员工数量
4. 计算年龄超过阈值的员工数量
5. 计算在指定工作年限内的员工数量
6. 计算在指定部门的员工数量
0. 退出系统
请选择操作:4
请输入年龄阈值:
26
年龄超过阈值的员工数量: 9
人力资源管理系统
1. 显示所有员工信息
2. 计算工资高于平均工资的员工数量
3. 计算姓名中包含指定关键字的员工数量
4. 计算年龄超过阈值的员工数量
5. 计算在指定工作年限内的员工数量
6. 计算在指定部门的员工数量
0. 退出系统
请选择操作:5
请输入工作年限阈值:
5
在指定工作年限内的员工数量: 5
人力资源管理系统
1. 显示所有员工信息
2. 计算工资高于平均工资的员工数量
3. 计算姓名中包含指定关键字的员工数量
4. 计算年龄超过阈值的员工数量
5. 计算在指定工作年限内的员工数量
6. 计算在指定部门的员工数量
0. 退出系统
请选择操作:6
请输入要搜索的部门名称:
技术
在指定部门的员工数量: 3
人力资源管理系统
1. 显示所有员工信息
2. 计算工资高于平均工资的员工数量
3. 计算姓名中包含指定关键字的员工数量
4. 计算年龄超过阈值的员工数量
5. 计算在指定工作年限内的员工数量
6. 计算在指定部门的员工数量
0. 退出系统
请选择操作:0
感谢使用人力资源管理系统,再见!

参考代码

package com.hr.work;import java.util.Scanner;/*** 类的说明:* 格言:认认真真敲代码** @author 汤老师* @date 2024/3/29 17:04*/
public class HRSystemTest {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int choice;String[] names = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十", "郑十一", "冯十二"};int[] salaries = {3000, 4000, 5000, 6000, 7000, 3500, 4500, 5500, 6500, 7500};int[] ages = {25, 30, 35, 40, 45, 27, 32, 37, 42, 47};int[] workYears = {2, 3, 5, 7, 10, 2, 4, 6, 8, 10};String[] departments = {"人力资源", "财务", "人力资源", "技术", "人力资源", "技术", "人力资源", "财务", "技术", "人力资源"};// 菜单选择do {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("6. 计算在指定部门的员工数量");System.out.println("0. 退出系统");System.out.print("请选择操作:");choice = scanner.nextInt();switch (choice) {case 1:displayAllEmployees(names, salaries, ages, workYears, departments);break;case 2:System.out.println("工资高于平均工资的员工数量: " + HRSystem.countAboveAverageSalary(salaries));break;case 3:System.out.println("请输入要搜索的关键字:");String keyword = scanner.next();System.out.println("姓名中包含关键字的员工数量: " + HRSystem.countEmployeesWithKeyword(names, keyword));break;case 4:System.out.println("请输入年龄阈值:");int ageThreshold = scanner.nextInt();System.out.println("年龄超过阈值的员工数量: " + HRSystem.countEmployeesAboveAgeThreshold(ages, ageThreshold));break;case 5:System.out.println("请输入工作年限阈值:");int years = scanner.nextInt();System.out.println("在指定工作年限内的员工数量: " + HRSystem.countEmployeesWithinYears(workYears, years));break;case 6:System.out.println("请输入要搜索的部门名称:");String departmentKeyword = scanner.next();System.out.println("在指定部门的员工数量: " + HRSystem.countEmployeesInDepartment(departments, departmentKeyword));break;case 0:System.out.println("感谢使用人力资源管理系统,再见!");break;default:System.out.println("请选择有效的操作!");break;}} while (choice != 0);scanner.close();}private static void displayAllEmployees(String[] names, int[] salaries, int[] ages, int[] workYears, String[] departments) {System.out.println("所有员工信息:");System.out.println("姓名\t工资\t年龄\t工作年限\t部门");for (int i = 0; i < names.length; i++) {System.out.println(names[i] + "\t" + salaries[i] + "\t" + ages[i] + "\t" + workYears[i] + "\t\t" + departments[i]);}System.out.println();}private static void testAboveAverageSalary() {int[] salaries = {3000, 4000, 5000, 6000, 7000};System.out.println("工资高于平均工资的员工数量: " + HRSystem.countAboveAverageSalary(salaries));}private static void testEmployeesWithKeyword() {String[] names = {"张三", "李四", "王五", "赵六", "钱七"};System.out.println("姓名中包含关键字的员工数量: " + HRSystem.countEmployeesWithKeyword(names, "张"));}private static void testEmployeesAboveAgeThreshold() {int[] ages = {25, 30, 35, 40, 45};System.out.println("年龄超过阈值的员工数量: " + HRSystem.countEmployeesAboveAgeThreshold(ages, 35));}private static void testEmployeesWithinYears() {int[] workYears = {2, 3, 5, 7, 10};System.out.println("在指定工作年限内的员工数量: " + HRSystem.countEmployeesWithinYears(workYears, 5));}private static void testEmployeesInDepartment() {String[] departments = {"人力资源", "财务", "人力资源", "技术", "人力资源"};System.out.println("在人力资源部门的员工数量: " + HRSystem.countEmployeesInDepartment(departments, "人力资源"));}
}

相关文章:

结合《人力资源管理系统》的Java基础题

1.编写一个Java方法&#xff0c;接受一个整数数组作为参数&#xff0c;返回该数组中工资高于平均工资的员工数量。假设数组中的每个元素都代表一个员工的工资。 2.设计一个Java方法&#xff0c;接受一个字符串数组和一个关键字作为参数&#xff0c;返回包含该关键字的姓名的员…...

PostgreSQL备份还原数据库

1.切换PostgreSQL bin目录 配置Postgresql环境变量后可以不用切换 pg_dump 、psql都在postgresql bin目录下&#xff0c;所以需要切换到bin目录执行命令 2.备份数据库 方式一 语法 pg_dump -h <ip> -U <pg_username> -p <port> -d <databaseName>…...

实现读写分离与优化查询性能:通过物化视图在MySQL、PostgreSQL和SQL Server中的应用

实现读写分离与优化查询性能&#xff1a;通过物化视图在MySQL、PostgreSQL和SQL Server中的应用 在数据库管理中&#xff0c;读写分离是一种常见的性能优化方法&#xff0c;它通过将读操作和写操作分发到不同的服务器或数据库实例上&#xff0c;来减轻单个数据库的负载&#x…...

pytest中文使用文档----10skip和xfail标记

1. 跳过测试用例的执行 1.1. pytest.mark.skip装饰器1.2. pytest.skip方法1.3. pytest.mark.skipif装饰器1.4. pytest.importorskip方法1.5. 跳过测试类1.6. 跳过测试模块1.7. 跳过指定文件或目录1.8. 总结 2. 标记用例为预期失败的 2.1. 去使能xfail标记 3. 结合pytest.param方…...

【Spring MVC】快速学习使用Spring MVC的注解及三层架构

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring MVC】快速学习使用Spring MVC的注解及三层架构 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 Spring Web MVC一: 什么是Spring Web MVC&#xff1…...

Python(乱学)

字典在转化为其他类型时&#xff0c;会出现是否舍弃value的操作&#xff0c;只有在转化为字符串的时候才不会舍弃value 注释的快捷键是ctrl/ 字符串无法与整数&#xff0c;浮点数&#xff0c;等用加号完成拼接 5不入&#xff1f;&#xff1f;&#xff1f; 还有一种格式化的方法…...

OpenHarmony实战:轻量级系统之子系统移植概述

OpenHarmony系统功能按照“系统 > 子系统 > 部件”逐级展开&#xff0c;支持根据实际需求裁剪某些非必要的部件&#xff0c;本文以部分子系统、部件为例进行介绍。若想使用OpenHarmony系统的能力&#xff0c;需要对相应子系统进行适配。 OpenHarmony芯片适配常见子系统列…...

Neo4j基础知识

图数据库简介 图数据库是基于数学里图论的思想和算法而实现的高效处理复杂关系网络的新型数据库系统。它善于高效处理大量的、复杂的、互连的、多变的数据。其计算效率远远高于传统的关系型数据库。 在图形数据库当中&#xff0c;每个节点代表一个对象&#xff0c;节点之间的…...

HTTP/1.1 特性(计算机网络)

HTTP/1.1 的优点有哪些&#xff1f; 「简单、灵活和易于扩展、应用广泛和跨平台」 1. 简单 HTTP 基本的报文格式就是 header body&#xff0c;头部信息也是 key-value 简单文本的形式&#xff0c;易于理解。 2. 灵活和易于扩展 HTTP 协议里的各类请求方法、URI/URL、状态码…...

每日一题————P5725 【深基4.习8】求三角形

题目&#xff1a; 题目乍一看非常的简单&#xff0c;属于初学者都会的问题——————————但是实际上呢&#xff0c;有一些小小的坑在里面。 就是三角形的打印。 平常我们在写代码的时候&#xff0c;遇到打印三角形的题&#xff0c;一般简简单单两个for循环搞定 #inclu…...

第三题:时间加法

题目描述 现在时间是 a 点 b 分&#xff0c;请问 t 分钟后&#xff0c;是几点几分&#xff1f; 输入描述 输入的第一行包含一个整数 a。 第二行包含一个整数 b。 第三行包含一个整数 t。 其中&#xff0c;0≤a≤23,0≤b≤59,0≤t&#xff0c; 分钟后还是在当天。 输出描…...

【RAG】内部外挂知识库搭建-本地GPT

大半年的项目告一段落了&#xff0c;现在自己找找感兴趣的东西学习下&#xff0c;看看可不可以搞出个效果不错的local GPT&#xff0c;自研下大模型吧 RAG是什么&#xff1f; 检索增强生成(RAG)是指对大型语言模型输出进行优化&#xff0c;使其能够在生成响应之前引用训练数据来…...

MySQL——锁

全局锁 全局锁是一种数据库锁定机制&#xff0c;它可以锁定整个数据库&#xff0c;阻止其他会话对数据库的读写操作。在MySQL中&#xff0c;全局锁定可以使用FLUSH TABLES WITH READ LOCK命令来实现。执行这个命令后&#xff0c;MySQL将获取一个全局读锁&#xff0c;直到当前会…...

C++(12): std::mutex及其高级变种的使用

1. 简述 在多线程或其他许多场景下&#xff0c;同时对一个变量或一段资源进行读写操作是一个比较常见的过程&#xff0c;保证数据的一致性和防止竞态条件至关重要。 C的标准库中为我们提供了使用的互斥及锁对象&#xff0c;帮助我们实现资源的互斥操作。 2. std::mutex及其衍…...

基于ROS软路由的百元硬件升级方案实现突破千兆宽带

前言 很多用户得利于FTTR光网络不断推广&#xff0c;家用宽带带宽已经实现千兆速率的突破。而现在很多ISP运营商已经在多个城市率先推出2000M光宽带。这种情况下&#xff0c;要想将自家宽带的带宽能够充分发挥利用&#xff0c;就需要对原有的千兆设备进行升级来满足突破千兆的…...

OpenHarmony实战开发-分布式关系型数据库

介绍 本示例使用ohos.data.relationalStore 接口和ohos.distributedDeviceManager 接口展示了在eTS中分布式关系型数据库的使用&#xff0c;在增、删、改、查的基本操作外&#xff0c;还包括分布式数据库的数据同步同能。 效果预览 使用说明: 1.启动应用后点击“”按钮可以添…...

图片标注编辑平台搭建系列教程(6)——fabric渲染原理

原理 fabric的渲染步骤大致如下&#xff1a; 渲染前都设置背景图然后调用ctx.save()&#xff0c;存储画布的绘制状态参数然后调用每个object自身的渲染方法最后调用ctx.restore()&#xff0c;恢复画布的保存状态后处理&#xff0c;例如控制框的渲染等 值得注意的是&#xff0…...

Qt中QIcon图标设置(标题、菜单栏、工具栏、状态栏图标)

1 exe程序图标概述 在 Windows 操作系统中&#xff0c;程序图标一般会涉及三个地方&#xff1b; &#xff08;1&#xff09; 可执行程序&#xff08;以及对应的快捷方式&#xff09;的图标 &#xff08;2&#xff09; 程序界面标题栏图标 &#xff08;3&#xff09;程序在任务…...

C语言程序10题

第101题 &#xff08;10.0分&#xff09; 难度:易 第2章 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能&#xff1a;计算平均成绩并统计90分以上人数。 --…...

定时器-间歇函数

1.开启定时器 setInterval(function (){console.log(一秒执行一次)},1000) function fn(){console.log(一秒执行一次) } setInterval(fn,1000) //调用有名的函数&#xff0c;只写函数名 1.函数名字不需要加小括号 2.定时器返回是一个id数字 每个定时器的序号是不一样的 2.关…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验

一、多模态商品数据接口的技术架构 &#xff08;一&#xff09;多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如&#xff0c;当用户上传一张“蓝色连衣裙”的图片时&#xff0c;接口可自动提取图像中的颜色&#xff08;RGB值&…...