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

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...