java长度为n的数组随机放入值为1-50中间的任意整数请编写程序找出其中的偶数数字并按照该数字在数组中从多到少排序输出
时间: 2023-12-03 12:42:24 浏览: 81
获取1到n之间的k个随机数 并且排序
可以使用桶排序的思想,将数组中每个偶数出现的次数进行统计,然后按照出现次数从多到少进行输出。
具体实现如下:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int n = 10;
int[] arr = new int[n];
// 随机生成长度为n的数组
for (int i = 0; i < n; i++) {
arr[i] = (int) (Math.random() * 50) + 1;
}
System.out.println("随机生成的数组为:" + Arrays.toString(arr));
int[] count = new int[26];
// 统计偶数出现的次数
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
count[arr[i] / 2 - 1]++;
}
}
// 按照出现次数从多到少进行输出
for (int i = count.length - 1; i >= 0; i--) {
int cnt = count[i];
while (cnt > 0) {
System.out.print((i + 1) * 2 + " ");
cnt--;
}
}
}
}
```
其中,count数组中的每个元素表示对应的偶数出现的次数,例如count[0]表示数字2出现的次数,count[1]表示数字4出现的次数,以此类推。最后按照出现次数从多到少进行输出即可。
阅读全文