写一段java代码,定义一个一维整数数组,存储随机生成的100个整数到num.txt,利用冒泡排序方法,首先对其进行升幂排序,然后利用继承、并重写方法对其进行降幂排序。并保存降幂排序的结果之num2.txt
时间: 2024-11-22 16:36:31 浏览: 24
```java
import java.io.*;
import java.util.Arrays;
import java.util.Random;
public class SortArray {
public static void main(String[] args) throws IOException {
// 1. 定义数组并存入随机整数
int[] arr = new int[100];
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = random.nextInt(1000); // 随机生成0-999之间的整数
}
// 2. 冒泡排序升序
bubbleSort(arr);
// 3. 写入升序结果至num.txt
writeToFile("num.txt", Arrays.toString(arr));
// 创建一个SortedArray类,继承自Arrays类,并覆盖sort方法实现降序排序
class SortedArray extends Integer[] {
@Override
public void sort() {
super.sort(Integer::compareToDesc); // 自然排序降序
}
}
// 4. 对数组降序排序
SortedArray sortedDesc = new SortedArray(arr.clone());
sortedDesc.sort();
// 5. 写入降序结果至num2.txt
writeToFile("num2.txt", Arrays.toString(sortedDesc));
System.out.println("数组已成功排序并保存");
}
private static void bubbleSort(int[] array) {
int n = array.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (array[j] > array[j + 1]) {
// 交换元素
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
private static void writeToFile(String fileName, String content) throws IOException {
File file = new File(fileName);
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(content);
writer.close();
}
}
```
阅读全文