IO练习:随机生成1000个[50,1000)的整数,按照每行10的方式,输出到文件中,并依次读出文件中每行的首个数字累计求和并输出。JAVA
时间: 2024-03-12 20:43:00 浏览: 21
下面是Java代码实现:
```java
import java.io.*;
public class RandomNumberIO {
public static void main(String[] args) {
final int ROW = 100; // 行数
final int COL = 10; // 每行数字个数
final int MIN = 50; // 随机数下限
final int MAX = 1000; // 随机数上限
int sum = 0; // 累加和
// 随机生成1000个[50, 1000)的整数并写入文件
try (BufferedWriter bw = new BufferedWriter(new FileWriter("numbers.txt"))) {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
int num = (int) (Math.random() * (MAX - MIN)) + MIN;
bw.write(num + " ");
if (j == 0) {
sum += num;
}
}
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
// 从文件中读取每行首个数字并累加求和
try (BufferedReader br = new BufferedReader(new FileReader("numbers.txt"))) {
String line;
while ((line = br.readLine()) != null) {
String[] nums = line.split(" ");
sum += Integer.parseInt(nums[0]);
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("每行首个数字累加和为:" + sum);
}
}
```
程序先随机生成1000个在[50,1000)之间的整数,并将它们按照每行10个的方式输出到文件"numbers.txt"中。在输出每个数字的同时,判断是否是每行的第一个数字,若是则将它加入到累加和中。然后程序再从文件中读取每行的第一个数字并将它们加入到累加和中,最后输出累加和即可。