用java创建文件number.txt, 里面存放多个整数。 2 读取该文件里面的数据,并统计平均值,最 大値,最小値。 3. 将统计的信息及数据排序后 写入result.txt 中。
时间: 2024-02-22 18:58:15 浏览: 48
Java读文件,可分析数据并计算平均值
3星 · 编辑精心推荐
好的,我会根据您的要求进行回答。以下是您所提问题的解答:
1. 用Java创建文件number.txt,里面存放多个整数。
您可以使用以下代码来创建 number.txt 文件并写入整数:
```java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileCreator {
public static void main(String[] args) {
int[] numbers = { 2, 4, 6, 8, 10 }; // 定义要写入文件的整数数组
File file = new File("number.txt"); // 创建File对象
try {
FileWriter writer = new FileWriter(file); // 创建FileWriter对象
for (int i = 0; i < numbers.length; i++) {
writer.write(numbers[i] + " "); // 将整数写入文件
}
writer.close(); // 关闭文件流
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
2. 读取该文件里面的数据,并统计平均值、最大值、最小值。
您可以使用以下代码来读取 number.txt 文件并统计平均值、最大值和最小值:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class FileReader {
public static void main(String[] args) {
File file = new File("number.txt"); // 创建File对象
int sum = 0; // 定义整数和
int count = 0; // 定义整数个数
int max = Integer.MIN_VALUE; // 定义最大值
int min = Integer.MAX_VALUE; // 定义最小值
try {
FileReader reader = new FileReader(file); // 创建FileReader对象
BufferedReader br = new BufferedReader(reader); // 创建BufferedReader对象
String line;
while ((line = br.readLine()) != null) {
String[] numbers = line.split(" "); // 将读取的字符串以空格分割成整数数组
for (String s : numbers) {
int num = Integer.parseInt(s); // 将字符串转换成整数
sum += num; // 累加整数和
count++; // 累加整数个数
if (num > max) { // 判断最大值
max = num;
}
if (num < min) { // 判断最小值
min = num;
}
}
}
br.close(); // 关闭流
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
double average = (double) sum / count; // 计算平均值
System.out.println("平均值:" + average);
System.out.println("最大值:" + max);
System.out.println("最小值:" + min);
}
}
```
3. 将统计的信息及数据排序后写入result.txt中。
您可以使用以下代码来将统计的信息及数据排序后写入 result.txt 文件中:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
public class FileSorter {
public static void main(String[] args) {
File inputFile = new File("number.txt"); // 创建输入文件对象
File outputFile = new File("result.txt"); // 创建输出文件对象
ArrayList<Integer> numbers = new ArrayList<Integer>(); // 定义整数列表
try {
FileReader reader = new FileReader(inputFile); // 创建FileReader对象
BufferedReader br = new BufferedReader(reader); // 创建BufferedReader对象
String line;
while ((line = br.readLine()) != null) {
String[] numStrs = line.split(" "); // 将读取的字符串以空格分割为整数数组
for (String numStr : numStrs) {
numbers.add(Integer.parseInt(numStr)); // 将整数添加到列表中
}
}
br.close(); // 关闭流
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
Collections.sort(numbers); // 对整数列表进行排序
int sum = 0; // 定义整数和
int count = numbers.size(); // 获取整数个数
int max = numbers.get(count - 1); // 获取最大值
int min = numbers.get(0); // 获取最小值
for (int num : numbers) {
sum += num; // 累加整数和
}
double average = (double) sum / count; // 计算平均值
try {
FileWriter writer = new FileWriter(outputFile); // 创建FileWriter对象
writer.write("整数列表:" + numbers.toString() + "\n"); // 将整数列表写入文件
writer.write("平均值:" + average + "\n"); // 将平均值写入文件
writer.write("最大值:" + max + "\n"); // 将最大值写入文件
writer.write("最小值:" + min + "\n"); // 将最小值写入文件
writer.close(); // 关闭流
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上就是对您提出问题的解答,希望能够帮助到您。
阅读全文