java - 如何在 Java 中读取文本文件并将其拆分?
问题描述
我需要帮助编写一个程序,它会用 Java 读给我一个文件,然后拆分单词并计算笔记的平均值。所以我有一个名为 dziennik.txt 的 Java 文件,在两行中我有一个名字、姓氏、笔记的数量,然后是学生的笔记。它看起来像这样:
马克斯坦克 3 4 5 6
维罗妮卡李 2 2 4
所以我需要做的是拆分单词,以便程序知道 3 个单词是多个音符,下一个是这些音符,它会计算平均值。现在我有这样的东西:
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Scanner;
public class FileWrite {
public static void main(String[] args) throws IOException {
StringBuilder dziennik = new StringBuilder();
try (BufferedReader br = Files.newBufferedReader(Paths.get("dziennik.txt"))) {
// read line by line
String line;
while ((line = br.readLine()) != null) {
dziennik.append(line).append("\n");
String[] pair = line.split(" ");
}
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
System.out.println(dziennik);
}
}
我是新手,所以请尽可能简单地向我解释。
解决方案
类似于 spork 提到的。这是一种获取每个学生的平均笔记数的方法:
StringBuilder dziennik = new StringBuilder();
double total = 0; // Added line
double counter = 0; // Added line
try (BufferedReader br = Files.newBufferedReader(Paths.get("dziennik.txt"))) {
// read line by line
String line;
while ((line = br.readLine()) != null) {
dziennik.append(line).append("\n");
String[] pair = line.split(" ");
total = total + Double.valueOf(pair[2]); // Added line
counter++; // Added line
}
System.out.println("Average number of notes per student: " + total / counter); // Added line
} catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
System.out.println(dziennik);
推荐阅读
- flutter - Flutter 资产图像无法正确显示
- javascript - OAuth 2.0 的 Google 弃用通知
- docker - 文件夹存在于容器中,但无法 cd 进入 dockerfile 中的文件夹
- php - phpcs --standard=PHPCompatibility 未检测到错误
- mysql - MySQL8查询层次结构的全血统(祖先+后代)
- typescript - 当我尝试在函数中返回多种类型的接口时,语法打字稿错误
- oracle - DBeaver 建议插入语句的 where 关键字
- python - 信用卡还款计算器
- tags - 如何在页面博客上隐藏条目标签标签?
- javascript - 具有静态和实例方法的类