用java创建项目文件Acidtest+学号,如:Acidtest20210861155,新建类文件Acidtest。 下面数据中有多个人的核检信息,每条记录包括:姓名、采样日期、检测结果。 5 张三 20220606 阴性 李四 20220407 阴性 王五 20220611 阳性 赵六 20220513 阴性 陈七 20220622 阳性 1、从键盘输入以上核检信息然后存入当前项目目录的finalexam20210861155.txt文件中 2、统计核检报告结果为阳性的人员名单,打印在控制台 3、将统计结果追加在finalexam20210861155.txt文件中
时间: 2024-02-12 12:02:21 浏览: 58
山东科技大学-Java数据结构实验五.docx
好的,我可以帮你解决这个问题。
下面是用 Java 创建项目文件 `Acidtest+学号` 并新建类文件 `Acidtest` 的代码:
```java
public class Acidtest {
public static void main(String[] args) {
// TODO: 在这里写你的代码
}
}
```
接下来是从键盘输入核检信息并将其存入当前项目目录的 `finalexam20210861155.txt` 文件中的代码:
```java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Acidtest {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in);
BufferedWriter writer = new BufferedWriter(new FileWriter("finalexam20210861155.txt"))) {
while (true) {
System.out.print("请输入姓名(输入 exit 退出):");
String name = scanner.next();
if (name.equals("exit")) {
break;
}
System.out.print("请输入采样日期(格式:yyyyMMdd):");
String date = scanner.next();
System.out.print("请输入检测结果(阴性/阳性):");
String result = scanner.next();
writer.write(name + " " + date + " " + result + "\n");
}
System.out.println("数据已保存到文件 finalexam20210861155.txt 中");
} catch (IOException e) {
System.err.println("写入文件出错:" + e.getMessage());
}
}
}
```
然后是统计核检报告结果为阳性的人员名单,并将结果追加到 `finalexam20210861155.txt` 文件中的代码:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Acidtest {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("finalexam20210861155.txt"));
BufferedWriter writer = new BufferedWriter(new FileWriter("finalexam20210861155.txt", true))) {
List<String> positiveResults = new ArrayList<>();
String line;
while ((line = reader.readLine()) != null) {
String[] fields = line.split(" ");
if (fields.length != 3) {
System.err.println("错误的数据格式:" + line);
continue;
}
if (fields[2].equals("阳性")) {
positiveResults.add(fields[0]);
}
}
if (positiveResults.isEmpty()) {
System.out.println("没有发现阳性结果的人员");
} else {
System.out.println("阳性结果的人员名单:");
for (String name : positiveResults) {
System.out.println(name);
writer.write(name + " 阳性\n");
}
}
} catch (IOException e) {
System.err.println("读取/写入文件出错:" + e.getMessage());
}
}
}
```
请注意,为了防止重复写入数据,我们在 `FileWriter` 的构造函数中传入了 `true` 参数,表示在文件末尾追加而不是覆盖原有内容。
阅读全文