用JAVA中的输入输出流写下面的程序,该程序将100个随机生成的小数(0到1000)写入文件,每个整数以“#”分隔。然后,从该文件中读取这些整数,并计算最大值、最小值和平均值并输出。
时间: 2024-12-23 12:12:14 浏览: 0
java程序设计基本数据的文件读写
在Java中,你可以使用`Random`生成随机数,`FileWriter`和`BufferedWriter`用于写入文件,以及`FileReader`和`BufferedReader`用于读取文件。以下是一个简单的示例程序:
```java
import java.io.*;
import java.util.Random;
public class RandomNumberIO {
public static void main(String[] args) {
// 生成100个随机小数(0到1000)
Random random = new Random();
int[] numbers = new int[100];
for (int i = 0; i < numbers.length; i++) {
numbers[i] = random.nextInt(1001);
}
// 写入文件
String filename = "random_numbers.txt";
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
for (int number : numbers) {
writer.write(Integer.toString(number) + "#");
}
// 最后关闭流,防止数据丢失
writer.newLine(); // 结束行
} catch (IOException e) {
System.err.println("Error writing to file: " + e.getMessage());
}
// 读取文件并计算最大值、最小值和平均值
double sum = 0;
double max = Double.MIN_VALUE;
double min = Double.MAX_VALUE;
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split("#");
if (parts.length > 1) {
int value = Integer.parseInt(parts[0]);
sum += value;
max = Math.max(max, value);
min = Math.min(min, value);
}
}
// 计算平均值
double average = sum / numbers.length;
System.out.printf("Max: %.2f, Min: %.2f, Average: %.2f%n", max, min, average);
} catch (IOException e) {
System.err.println("Error reading from file: " + e.getMessage());
}
}
}
```
运行此程序后,它会在指定文件中创建一条记录每个随机数的行,每两个数之间用“#”分隔。然后,它会读取这个文件,计算并打印出最大值、最小值和平均值。
阅读全文