java中 IO练习:随机生成1000个[50,1000)的整数,按照每行10的方式,输出到文件中,并依次读出文件中每行的首个数字累计求和并输出。
时间: 2024-03-11 12:51:04 浏览: 86
Java IO 之文件读写简单实例
好的,我来给您讲一下如何实现这个功能。
首先,我们可以通过Java中的Random类来生成随机整数。代码如下:
```java
Random random = new Random();
int number = random.nextInt(950) + 50; // 生成50到1000之间的随机整数
```
接下来,我们需要将这些随机整数按照每行10个的方式输出到文件中。我们可以使用Java中的BufferedWriter类来实现。代码如下:
```java
BufferedWriter writer = new BufferedWriter(new FileWriter("numbers.txt"));
for (int i = 0; i < 1000; i++) {
int number = random.nextInt(950) + 50;
writer.write(number + " ");
if ((i + 1) % 10 == 0) {
writer.newLine();
}
}
writer.close();
```
这段代码中,我们使用了一个计数器来判断是否需要换行,每输出10个数就换行。
最后,我们需要读取文件中每行的首个数字,并进行累加求和。代码如下:
```java
BufferedReader reader = new BufferedReader(new FileReader("numbers.txt"));
int sum = 0;
String line = null;
while ((line = reader.readLine()) != null) {
String[] numbers = line.trim().split(" ");
sum += Integer.parseInt(numbers[0]);
}
reader.close();
System.out.println("首个数字累计求和为:" + sum);
```
这段代码中,我们使用了一个计数器来记录首个数字的累计和,每次读取一行数据,通过空格分隔符将数字拆分出来,然后累加求和。
完整代码如下:
```java
import java.io.*;
import java.util.*;
public class RandomNumber {
public static void main(String[] args) throws Exception {
Random random = new Random();
BufferedWriter writer = new BufferedWriter(new FileWriter("numbers.txt"));
for (int i = 0; i < 1000; i++) {
int number = random.nextInt(950) + 50;
writer.write(number + " ");
if ((i + 1) % 10 == 0) {
writer.newLine();
}
}
writer.close();
BufferedReader reader = new BufferedReader(new FileReader("numbers.txt"));
int sum = 0;
String line = null;
while ((line = reader.readLine()) != null) {
String[] numbers = line.trim().split(" ");
sum += Integer.parseInt(numbers[0]);
}
reader.close();
System.out.println("首个数字累计求和为:" + sum);
}
}
```
注意:在使用完文件输入输出流之后,一定要记得关闭流。
阅读全文