产生10个5位以下的随机整数,将其写入文件内,然后读取该文件,求出这10个整数的平均值、最大值与最小值并对这10个数进行排序用java程序实现
时间: 2025-06-15 10:18:52 浏览: 17
以下是使用Java实现这个需求的一个简单示例:
```java
import java.io.*;
import java.util.*;
public class RandomNumberFileIO {
public static void main(String[] args) {
// 生成并写入10个随机整数到文件
List<Integer> numbers = generateRandomNumbers(10);
String fileName = "random_numbers.txt";
writeNumbersToFile(fileName, numbers);
// 读取文件并计算统计信息
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
List<String> lines = Files.readAllLines(Paths.get(fileName));
List<Integer> readNumbers = Arrays.stream(lines).mapToInt(Integer::parseInt).boxed().collect(Collectors.toList());
double average = calculateAverage(readNumbers);
int max = Collections.max(readNumbers);
int min = Collections.min(readNumbers);
// 打印结果
System.out.println("Average: " + average);
System.out.println("Max: " + max);
System.out.println("Min: " + min);
// 对数字排序
Collections.sort(readNumbers);
System.out.println("Sorted Numbers: " + readNumbers);
} catch (IOException e) {
e.printStackTrace();
}
}
private static List<Integer> generateRandomNumbers(int count) {
Random random = new Random();
return IntStream.range(0, count)
.mapToObj(random::nextInt)
.limit(5) // 确保不超过5位数
.collect(Collectors.toList());
}
private static double calculateAverage(List<Integer> numbers) {
return numbers.stream().mapToInt(i -> i).average().orElse(Double.NaN);
}
private static void writeNumbersToFile(String fileName, List<Integer> numbers) {
try (PrintWriter writer = new PrintWriter(fileName)) {
for (Integer num : numbers) {
writer.print(num);
writer.write('\n');
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
在这个程序中,我们首先生成10个5位以下的随机整数,并将它们写入文件。接着,我们读取文件内容,计算平均值、最大值和最小值,并对数字进行排序。注意,由于整数可能超过5位,这里限制了每个生成的随机数小于等于5。
阅读全文
相关推荐














