请使用java代码进行IO练习:随机生成1000个[50,1000)的整数,按照每行10的方式,输出到文件中,并依次读出文件中每行的首个数字累计求和并输出。
时间: 2024-03-11 20:50:37 浏览: 44
输入一个整数,计算并输出该数的数字之和.java
好的,这是一个比较基础的IO练习,以下是Java代码实现:
```java
import java.io.*;
public class RandomNumberIO {
public static void main(String[] args) {
// 随机生成1000个[50,1000)的整数
int numCount = 1000;
int min = 50;
int max = 1000;
int[] nums = new int[numCount];
for (int i = 0; i < numCount; i++) {
nums[i] = (int) (min + Math.random() * (max - min));
}
// 输出到文件中
try (PrintWriter writer = new PrintWriter(new FileWriter("output.txt"))) {
for (int i = 0; i < numCount; i++) {
writer.print(nums[i] + " ");
if ((i + 1) % 10 == 0) {
writer.println();
}
}
} catch (IOException e) {
e.printStackTrace();
}
// 读出文件中每行的首个数字累计求和并输出
try (BufferedReader reader = new BufferedReader(new FileReader("output.txt"))) {
String line;
int sum = 0;
while ((line = reader.readLine()) != null) {
String[] numsStr = line.trim().split("\\s+");
sum += Integer.parseInt(numsStr[0]);
}
System.out.println("每行首个数字累计求和为:" + sum);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这里使用了`PrintWriter`和`BufferedReader`两个类来实现文件的输出和读取,需要注意的是,在使用这些类时,我们需要在代码块的最后使用`try-with-resources`语句,以确保资源能够被正确释放。
阅读全文