1、对一个随机生成的int型数组(大小为10,范围为1- 100),完成以下工作:找到该数组的最大值;找到该数组的最小值:计算数组中所有数的和值:计算数组中所有数的平均值:对该数组进行冒泡排序;对该数组进行选择排序。Java
时间: 2024-11-15 08:21:01 浏览: 22
在Java中,我们可以创建一个名为`RandomArrayOperations`的类来完成上述任务:
```java
import java.util.Arrays;
import java.util.Random;
public class RandomArrayOperations {
public static void main(String[] args) {
// 创建一个随机整数数组
int size = 10;
int minRange = 1;
int maxRange = 100;
int[] array = new int[size];
Random random = new Random();
// 生成数组
for (int i = 0; i < size; i++) {
array[i] = random.nextInt(maxRange - minRange + 1) + minRange;
}
// 打印初始数组
System.out.println("Original Array:");
printArray(array);
// 计算最大值、最小值、和、平均值
int maxValue = findMax(array);
int minValue = findMin(array);
long sum = calculateSum(array);
double average = calculateAverage(array);
System.out.printf("Max Value: %d, Min Value: %d\n", maxValue, minValue);
System.out.printf("Sum: %d, Average: %.2f%n", sum, average);
// 排序数组
bubbleSort(array);
selectionSort(array);
// 打印排序后的数组
System.out.println("Sorted Arrays after Bubble Sort:");
printArray(array);
System.out.println("Sorted Arrays after Selection Sort:");
printArray(array);
}
// 辅助方法:打印数组
private static void printArray(int[] arr) {
System.out.print("[");
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println("]");
}
// 寻找最大值
private static int findMax(int[] array) {
return Arrays.stream(array).max().orElseThrow(IllegalArgumentException::new);
}
// 寻找最小值
private static int findMin(int[] array) {
return Arrays.stream(array).min().orElseThrow(IllegalArgumentException::new);
}
// 计算数组总和
private static long calculateSum(int[] array) {
return Arrays.stream(array).mapToInt(Integer::intValue).sum();
}
// 计算平均值
private static double calculateAverage(int[] array) {
long sum = calculateSum(array);
return (double) sum / array.length;
}
// 冒泡排序
private static void bubbleSort(int[] array) {
boolean swapped;
for (int i = 0; i < array.length - 1; i++) {
swapped = false;
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
swapped = true;
}
}
if (!swapped) break;
}
}
// 选择排序
private static void selectionSort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < array.length; j++) {
if (array[j] < array[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
}
}
```
这个程序首先生成一个随机数组,然后执行一系列操作,如找到最大值、最小值、求和、平均值,以及分别进行冒泡排序和选择排序。
阅读全文