使用java 编写一个程序完成对一组随机整数的排序。步骤要求如下: 1.键盘输入产生随机数的个数n 2.定义一个有n个元素的整型数组 3.随机产生n个两位正整数。 4.键盘输入排序方法(1为冒泡法、2为选择法) 5.输出原始顺序数据。 6.输出每一趟排序的结果和最终结果。
时间: 2024-11-28 07:25:34 浏览: 0
下面是一个简单的Java程序,用于按照您的要求完成这个任务:
```java
import java.util.Scanner;
import java.util.Random;
public class RandomNumberSorter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Step 1: 获取随机数的数量
System.out.println("请输入随机数的个数(n): ");
int n = scanner.nextInt();
int[] numbers = new int[n];
// Step 3: 随机生成n个两位正整数
Random random = new Random();
for (int i = 0; i < n; i++) {
numbers[i] = random.nextInt(99) + 1; // 生成1到99之间的随机数
}
// Step 5: 输出原始顺序数据
System.out.println("原始顺序数据:");
for (int num : numbers) {
System.out.print(num + " ");
}
System.out.println();
// Step 4: 输入排序方法
System.out.println("请选择排序方法(1 冒泡法, 2 选择法): ");
int sortMethod = scanner.nextInt();
switch (sortMethod) {
case 1: // 冒泡法排序
bubbleSort(numbers);
break;
case 2: // 选择法排序
selectionSort(numbers);
break;
default:
System.out.println("无效的选择!");
return;
}
// Step 6: 输出排序过程和最终结果
System.out.println("\n排序过程(每轮排序后的结果):");
for (int i = 0; i < numbers.length - 1; i++) {
printArray(numbers, i + 1);
}
System.out.println("最终结果:");
printArray(numbers);
scanner.close();
}
private static void bubbleSort(int[] arr) {
// 冒泡排序实现...
}
private static void selectionSort(int[] arr) {
// 选择排序实现...
}
private static void printArray(int[] arr, int index) {
System.out.print("第" + index + "轮: ");
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
}
```
在这个示例中,`bubbleSort` 和 `selectionSort` 方法分别实现了冒泡排序和选择排序算法,实际操作中你需要在这些方法内部填充具体的排序逻辑。
阅读全文