1)编写一个程序,对随机产生的数据进行排序,数量多少用户输入,用foreach打印出排序前后的数据; (2)插入一个随机数,插入数组,并保证数据的有序性, (3)判断有多少个数高于或等于平均数,有
时间: 2024-09-26 07:15:54 浏览: 42
(1)在Java中,你可以使用ArrayList或者List接口来存储随机数据并对其进行排序。这里是一个简单的示例,首先生成用户指定数量的随机数,然后使用Collections.sort()函数进行排序:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class RandomSort {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入需要排序的数据数量:");
int size = scanner.nextInt();
ArrayList<Integer> numbers = new ArrayList<>();
for (int i = 0; i < size; i++) {
numbers.add((int) (Math.random() * 100)); // 生成0到99之间的随机数
}
System.out.println("原始数据:");
for (int number : numbers) {
System.out.print(number + " ");
}
Collections.sort(numbers); // 对列表进行排序
System.out.println("\n排序后的数据:");
for (int number : numbers) {
System.out.print(number + " ");
}
}
}
```
(2) 插入一个随机数并保持数组有序,可以先检查新数与当前已排序序列的关系,再决定插入位置:
```java
// ... 假设numbers列表已经排好序
Scanner randomInput = new Scanner(System.in);
System.out.print("请输入新的随机数:");
int newNode = randomInput.nextInt();
// 如果新节点小于第一个元素,放在最前面
if (newNode <= numbers.get(0)) {
numbers.add(0, newNode);
} else {
for (int i = 0; i < numbers.size(); i++) {
if (newNode <= numbers.get(i)) {
numbers.add(i, newNode);
break;
}
}
}
// 更新排序后的数组
...
```
(3) 判断有多少个数高于或等于平均数:
```java
double sum = 0;
for (int number : numbers) {
sum += number;
}
double average = sum / numbers.size();
int countEqualOrMore = 0;
for (int number : numbers) {
if (number >= average) {
countEqualOrMore++;
}
}
System.out.println("大于等于平均数的数有:" + countEqualOrMore);
```
阅读全文