gpt4 book ai didi

java - 使用扫描仪读取文本文件时出现问题

转载 作者:行者123 更新时间:2023-12-01 13:55:11 25 4
gpt4 key购买 nike

我正在尝试从文本文件读取数据,但无法使其正常工作。这是我到目前为止所拥有的

import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;

public class Student {
private String firstName;
private String lastName;
private int homeworkScore;
private int testScore;
private String letterGrade;
private int numberOfStudents;

public Student() {

numberOfStudents = 0;
homeworkScore = 0;
testScore = 0;

}

public static void main(String[] args) {

Scanner scanner = null;
try {
scanner = new Scanner(new File("grades.txt"));
} catch (FileNotFoundException e) {
System.out
.println("Error opening file. Please make sure that you have a grades.txt file in the same folder as GradeCalculator.class");
System.exit(0);
}
}

public void setNumberOfStudents() {
Scanner scanner = new Scanner(System.in);
numberOfStudents = scanner.nextInt();

}

public void setFirstName() {
Scanner scanner = new Scanner(System.in);
String firstName = scanner.next();
}

public void setLastName() {
Scanner scanner = new Scanner(System.in);
String lastName = scanner.next();
}
}

这是我到目前为止的驱动程序类:

public class CourseGrade {

public static void main(String[] args) {
Student myStudent = new Student();
myStudent.setNumberOfStudents();
myStudent.setFirstName();
myStudent.setLastName();
}

}

当我运行驱动程序类时,没有任何反应,因此我不确定它是否确实将值设置为我想要的值。我知道该文件正在被读取,因为我没有收到错误消息,但我不确定这些值是否实际上已设置

最佳答案

您实际上并没有使用扫描仪遍历文件。您所做的就是使用该文件初始化 Scanner 对象。

您需要执行以下操作:

 while (scanner.hasNextLine()) {
String line = scanner.nextLine();
//do stuff...
}

正如您问题的评论部分所指出的,Scanner 正在您的 Student 类主方法中初始化 - 这似乎是错误的。您可以在 Student 上有一个静态方法来读取此文件并根据数据构造 Student 对象。

关于java - 使用扫描仪读取文本文件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com