随机生成15个20--9999之间之间的整数 * 将这15个数写入文件file.txt * 读取file.txt中的15个数,进行冒泡排序 * 显示排序结果 用java
时间: 2024-12-17 12:27:10 浏览: 9
在Java中,你可以使用`Random`类生成随机整数,`FileWriter`和`BufferedWriter`来写入文件,`Scanner`类读取文件内容,然后利用冒泡排序算法对数据进行排序。以下是实现这个任务的一个简短示例:
```java
import java.io.*;
import java.util.*;
public class RandomSortExample {
public static void main(String[] args) {
// 生成15个随机整数并写入文件
int[] numbers = generateRandomNumbers(15, 20, 9999);
writeToFile(numbers, "file.txt");
// 读取文件、排序并显示结果
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
List<Integer> sortedNumbers = readAndSort(br);
displaySortedNumbers(sortedNumbers);
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
}
}
private static int[] generateRandomNumbers(int count, int min, int max) {
int[] randomNumbers = new int[count];
Random rand = new Random();
for (int i = 0; i < count; i++) {
randomNumbers[i] = rand.nextInt(max - min + 1) + min;
}
return randomNumbers;
}
private static void writeToFile(int[] numbers, String fileName) throws IOException {
try (PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(fileName)))) {
for (int number : numbers) {
writer.println(number);
}
}
}
private static List<Integer> readAndSort(BufferedReader reader) throws IOException {
List<Integer> list = new ArrayList<>();
String line;
while ((line = reader.readLine()) != null) {
list.add(Integer.parseInt(line));
}
Collections.sort(list);
return list;
}
private static void displaySortedNumbers(List<Integer> sortedNumbers) {
System.out.println("Sorted Numbers:");
for (int number : sortedNumbers) {
System.out.print(number + " ");
}
System.out.println();
}
}
```
在这个程序中,我们首先生成15个随机数并写入文件,然后从文件中读取所有行并将它们转换为整数列表,再用冒泡排序对其进行排序,最后打印出排序后的结果。
阅读全文