java IO练习:用代码实现随机生成1000个[50,1000)的整数,按照每行10的方式,输出到文件中,并依次读出文件中每行的首个数字累计求和并输出
时间: 2024-03-11 19:51:45 浏览: 81
JAVA基础随机整数的生成
5星 · 资源好评率100%
好的,以下是Java代码实现:
```java
import java.io.*;
public class RandomNumbers {
public static void main(String[] args) {
String fileName = "numbers.txt";
int numOfRows = 100;
int numbersPerRow = 10;
int min = 50;
int max = 1000;
// 随机生成1000个整数
int[] numbers = new int[1000];
for (int i = 0; i < 1000; i++) {
numbers[i] = (int) (Math.random() * (max - min) + min);
}
// 将随机数写入文件
try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName))) {
for (int i = 0; i < numOfRows; i++) {
for (int j = 0; j < numbersPerRow; j++) {
int index = i * numbersPerRow + j;
writer.write(numbers[index] + " ");
}
writer.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
// 读取文件并累计求和
int sum = 0;
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
for (int i = 0; i < numOfRows; i++) {
String line = reader.readLine();
int firstNum = Integer.parseInt(line.split(" ")[0]);
sum += firstNum;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("每行首个数字累计求和为:" + sum);
}
}
```
解析:
1. 定义文件名、每行的数字个数、随机数范围等变量;
2. 随机生成1000个整数,存储在一个数组中;
3. 通过BufferedWriter将数组中的数字按照每行10的方式写入文件中;
4. 通过BufferedReader逐行读取文件,将每行首个数字累加求和;
5. 输出每行首个数字累计求和的结果。
阅读全文