1)编写一个程序,对随机产生的数据进行排序,数量多少用户输入,用foreach打印出排序前后的数据; (2)插入一个随机数,插入数组,并保证数据的有序性, (3)判断有多少个数高于或等于平均数,有多少个分数低于平均数。
时间: 2024-09-28 22:09:25 浏览: 34
JavaScript实现数组随机排序的方法
为了实现这个需求,我们可以使用Java语言编写一个简单的控制台应用程序。以下是三个步骤的代码示例:
**1. 对随机数据排序并打印:**
```java
import java.util.Arrays;
import java.util.Scanner;
import java.util.Random;
public class SortAndPrint {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数据的数量:");
int n = scanner.nextInt();
// 创建一个整型数组并填充随机数
Random random = new Random();
int[] data = new int[n];
for (int i = 0; i < n; i++) {
data[i] = random.nextInt(n * 10); // 随机范围[0, n*10)
}
// 使用快速排序进行排序
Arrays.sort(data);
// 打印排序前的数据
System.out.println("原始数据:");
for (int value : data) {
System.out.print(value + " ");
}
// 使用foreach遍历并打印排序后的数据
System.out.println("\n排序后的数据:");
for (int value : data) {
System.out.print(value + " ");
}
}
}
```
**2. 插入随机数并保持有序:**
```java
// 合并插入操作
public static void insertSorted(int[] data, int numToInsert) {
int lastSortedIndex = data.length - 1;
while (numToInsert > 0 && lastSortedIndex >= 0 && data[lastSortedIndex] < numToInsert) {
data[++lastSortedIndex] = data[lastSortedIndex - 1]; // 将未排序的元素移到最后
numToInsert--;
}
data[lastSortedIndex + 1] = numToInsert; // 插入新数值
}
// 示例:
int[] sortedData = {1, 3, 5};
int randomNum = 4;
insertSorted(sortedData, randomNum);
System.out.println("插入后的有序数组:" + Arrays.toString(sortedData));
```
**3. 判断平均值上下数的数量:**
```java
// 计算平均数
double sum = 0;
for (int value : data) {
sum += value;
}
double average = sum / data.length;
int aboveAverageCount = 0;
int belowAverageCount = 0;
for (int value : data) {
if (value >= average) {
aboveAverageCount++;
} else {
belowAverageCount++;
}
}
System.out.printf("大于等于平均数的有 %d 个,小于平均数的有 %d 个.\n", aboveAverageCount, belowAverageCount);
```
你可以将这三个部分组合到一起,形成完整的程序。运行时,请根据提示输入数据数量,然后程序会完成排序、插入随机数以及统计平均值上下数的任务。
阅读全文