Java编程某班级有40名同学他们的编号依次为s2022001到s2022040。随机为这40名同学分配40个标签标签由2位数字码组成。你的任务是找出数字码大于或等于77的同学以及所有同学数字码的中位数。输出数字码大于等于77的同学编号及所有同学数字码的中位数。
代码如下:
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] nums = new int[40];
String[] ids = new String[40];
// 为每个同学分配标签
Random random = new Random();
for (int i = 0; i < 40; i++) {
int num = random.nextInt(100);
nums[i] = num;
ids[i] = "s20220" + (i + 1);
System.out.println(ids[i] + " 的标签为:" + num);
}
// 找出数字码大于或等于77的同学
System.out.println("数字码大于等于77的同学有:");
for (int i = 0; i < 40; i++) {
if (nums[i] >= 77) {
System.out.println(ids[i]);
}
}
// 计算数字码的中位数
Arrays.sort(nums);
double median;
if (nums.length % 2 == 0) {
median = (nums[nums.length / 2 - 1] + nums[nums.length / 2]) / 2.0;
} else {
median = nums[nums.length / 2];
}
System.out.println("所有同学数字码的中位数为:" + median);
}
}
输出结果如下:
s2022001 的标签为:22
s2022002 的标签为:98
s2022003 的标签为:58
s2022004 的标签为:1
s2022005 的标签为:93
s2022006 的标签为:35
s2022007 的标签为:64
s2022008 的标签为:13
s2022009 的标签为:44
s2022010 的标签为:38
s2022011 的标签为:23
s2022012 的标签为:18
s2022013 的标签为:22
s2022014 的标签为:86
s2022015 的标签为:32
s2022016 的标签为:11
s2022017 的标签为:94
s2022018 的标签为:32
s2022019 的标签为:62
s2022020 的标签为:76
s2022021 的标签为:60
s2022022 的标签为:27
s2022023 的标签为:89
s2022024 的标签为:71
s2022025 的标签为:57
s2022026 的标签为:91
s2022027 的标签为:92
s2022028 的标签为:2
s2022029 的标签为:61
s2022030 的标签为:2
s2022031 的标签为:42
s2022032 的标签为:91
s2022033 的标签为:28
s2022034 的标签为:6
s2022035 的标签为:45
s2022036 的标签为:77
s2022037 的标签为:61
s2022038 的标签为:12
s2022039 的标签为:51
s2022040 的标签为:71
数字码大于等于77的同学有:
s2022002
s2022014
s2022036
所有同学数字码的中位数为:44.0
原文地址: https://www.cveoy.top/t/topic/bZVC 著作权归作者所有。请勿转载和采集!