java随机函数生成20个整数,用冒泡法从小到大排序写入文件中并进行读取
时间: 2024-12-17 14:23:24 浏览: 16
在Java中,你可以使用`Random`类生成20个随机整数,然后使用`Arrays.sort()`对它们进行排序。接着,可以将排序后的结果写入文件,最后从文件中读取数据。以下是整个过程的一个示例:
```java
import java.io.*;
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 生成20个随机整数
Random random = new Random();
int[] numbers = new int[20];
for (int i = 0; i < numbers.length; i++) {
numbers[i] = random.nextInt(100); // 限制范围在0到99之间
}
// 冒泡排序
bubbleSort(numbers);
// 将排序后的数组写入文件
try (BufferedWriter writer = new BufferedWriter(new FileWriter("numbers.txt"))) {
for (int num : numbers) {
writer.write(num + "\n");
}
} catch (IOException e) {
System.out.println("Error writing to file: " + e.getMessage());
}
// 从文件中读取数据
try (BufferedReader reader = new BufferedReader(new FileReader("numbers.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("Error reading from file: " + e.getMessage());
}
}
// 冒泡排序函数
private static void bubbleSort(int[] arr) {
boolean swapped;
for (int i = 0; i < arr.length - 1; i++) {
swapped = false;
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1);
swapped = true;
}
}
if (!swapped) {
break; // 如果一轮比较下来没发生交换,说明已经有序
}
}
}
// 交换元素的辅助方法
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
```
阅读全文