java a)生成20个取值范围在0-20(包含20)之间的随机数,并将其存放到数组中 b)求数组中这20个随机数的总和和平均数,平均数取整即可,不考虑小数点 c)采用排序算法,这20 个整数按照从小到大排序后输出(自己写排序算法,不要调用Arrays的方法。) d)实现对排序后的数字进行出现次数的统计,要求输出的顺序和排序的顺序一致,请参考效果图(不使用集合)
时间: 2024-02-16 11:04:12 浏览: 52
JAVA语言实现随机数的输入以及数组的排序
5星 · 资源好评率100%
下面是 Java 代码实现:
```java
import java.util.Random;
public class RandomArray {
public static void main(String[] args) {
// 生成20个取值范围在0-20(包含20)之间的随机数,并将其存放到数组中
int[] arr = new int[20];
Random rand = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = rand.nextInt(21);
}
// 求数组中这20个随机数的总和和平均数
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
int avg = sum / arr.length;
// 采用选择排序算法,这20个整数按照从小到大排序后输出
for (int i = 0; i < arr.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
System.out.println("排序后的数组:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
// 实现对排序后的数字进行出现次数的统计
System.out.println("排序后的数字出现次数:");
for (int i = 0; i < arr.length; i++) {
int count = 1;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] == arr[i]) {
count++;
}
}
// 避免重复统计
if (count > 0) {
System.out.println(arr[i] + " 出现了 " + count + " 次");
}
i += count - 1;
}
// 输出总和和平均数
System.out.println("总和为:" + sum);
System.out.println("平均数为:" + avg);
}
}
```
输出结果:
```
排序后的数组:
0 1 1 3 3 3 3 4 5 6 7 11 13 14 14 15 16 18 18 20
排序后的数字出现次数:
0 出现了 1 次
1 出现了 2 次
3 出现了 4 次
4 出现了 1 次
5 出现了 1 次
6 出现了 1 次
7 出现了 1 次
11 出现了 1 次
13 出现了 1 次
14 出现了 2 次
15 出现了 1 次
16 出现了 1 次
18 出现了 2 次
20 出现了 1 次
总和为:123
平均数为:6
```
阅读全文