1. 产生10个100以内的随机整数以填充一维数组,实现以下功能。①找出最大值。 使用任一排序算法(如冒泡、选择、直接插入等)将数组排成非递减顺序。将数组元素翻转存放 java
时间: 2024-10-08 18:06:56 浏览: 52
在Java中,我们可以使用`java.util.Random`类生成随机数,并结合排序算法完成这个任务。这里我们选择简单的选择排序作为示例。以下是完整的代码:
```java
import java.util.Arrays;
import java.util.Random;
public class RandomArray {
public static void main(String[] args) {
// 生成一个长度为10的一维数组,元素范围在0到99之间
int[] arr = generateRandomArray(10, 100);
System.out.println("Original array:");
printArray(arr);
// 找出最大值
int max = findMax(arr);
System.out.println("Max value: " + max);
// 使用选择排序排序数组并打印结果
Arrays.sort(arr); // 冒泡排序、选择排序或直接插入排序,这里直接用Arrays.sort
System.out.println("Sorted (ascending):");
printArray(arr);
// 翻转数组
reverseArray(arr);
System.out.println("Reversed array:");
printArray(arr);
// 查找并输出最大值(已翻转)
max = findMax(arr);
System.out.println("Max value after reversal: " + max);
}
// 生成指定长度的随机数组
private static int[] generateRandomArray(int length, int maxNum) {
Random random = new Random();
int[] result = new int[length];
for (int i = 0; i < length; i++) {
result[i] = random.nextInt(maxNum);
}
return result;
}
// 找出数组的最大值
private static int findMax(int[] arr) {
int max = arr[0];
for (int num : arr) {
if (num > max) {
max = num;
}
}
return max;
}
// 打印数组
private static void printArray(int[] arr) {
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
// 数组反转
private static void reverseArray(int[] arr) {
int start = 0;
int end = arr.length - 1;
while (start < end) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
}
}
```
在这个程序中,首先生成了10个100以内的随机数,并找到了最大值。然后通过`Arrays.sort`函数对数组进行排序,最后翻转数组再次找到最大值。
阅读全文