如何在Java并行数组中查找并打印年龄最小的人员?
实现方案
核心思路
- 参数校验:先确保两个数组不为空且长度一致,避免空指针或索引越界问题
- 遍历找最小值索引:初始化最小年龄的索引为第一个元素,然后逐个对比后续元素的年龄,更新最小年龄对应的索引
- 输出结果:根据找到的索引,从两个数组中取出对应的姓名和年龄,按要求格式打印
Java 代码实现
public class YoungestPersonFinder { public static void printYoungestPerson(String[] names, int[] ages) { // 参数校验 if (names == null || ages == null || names.length != ages.length) { System.out.println("输入数组不合法"); return; } if (names.length == 0) { System.out.println("数组为空"); return; } // 初始化最小年龄的索引为第一个元素 int youngestIndex = 0; for (int i = 1; i < ages.length; i++) { if (ages[i] < ages[youngestIndex]) { youngestIndex = i; } } // 按格式输出结果 System.out.printf("%s is the youngest, at age %d%n", names[youngestIndex], ages[youngestIndex]); } // 测试示例 public static void main(String[] args) { String[] names = {"Alice", "Paul", "Jay", "Dylan"}; int[] ages = {44, 55, 60, 22}; printYoungestPerson(names, ages); } }
代码说明
- 参数校验:提前处理非法输入,让方法更健壮
- 遍历逻辑:仅需一次遍历即可找到最小年龄的索引,时间复杂度为O(n),效率较高
- 输出格式:使用
printf保证输出格式符合要求,也可以用字符串拼接替代
内容的提问来源于stack exchange,提问作者jdona13
相关产品推荐
相关产品推荐

