当前位置: 首页 > 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.关…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

DAY 45 超大力王爱学Python

来自超大力王的友情提示&#xff1a;在用tensordoard的时候一定一定要用绝对位置&#xff0c;例如&#xff1a;tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾&#xff1a; tensorboard的发展历史和原理tens…...