私のコードの問題は、Student というクラスがあることです。このクラスは、生徒の成績を計算し、生徒の名前と成績を一覧表示します。2 番目のクラスは CourseOffering と呼ばれ、学期数、クラスの学生数などを計算するために使用されます。3 番目のクラスは、すべてをまとめたものです。さらに、情報は .txt ファイルから読み取られます。Student クラスをテストしたところ、取得した値は正しく、正常に動作しましたが、CourseOffering クラス メソッドを方程式に追加しようとすると、このエラーが発生します...
Exception in thread "main" java.lang.NullPointerException
at CourseOffering.setNumberOfSemesters(CourseOffering.java:17)
at CourseStatistics.main(CourseStatistics.java:21)
学生クラスには .txt ファイルを読み取るコードがありますが、重要ではないため、残りの部分は含めません...
public void openFile(){
try { //start try statement
scanner = new Scanner(new File("gradesA5.txt")); //initialize scanner to scan from the grades.txt file
} //end try statement
catch (FileNotFoundException e) { //start catch statement
System.out.println("Error opening file. Please make sure that you have a grades.txt file in the same folder as GradeCalculator.class"); //print statement telling user that the grades.txt file is not in the right place
System.exit(0); //system exit
} //end catch statement
}
コース開講クラス...
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class CourseOffering {
private Scanner scanner;
//initialize data members
private int students;
private String description;
private int numberOfSemesters;
int studentArrayCount = 0;
public void setNumberOfSemesters(){
if(scanner.hasNext()){
numberOfSemesters = scanner.nextInt();
}
}
public int getNumberOfSemesters(){
return numberOfSemesters;
}
public void setStudents(){
int[] student = new int[numberOfSemesters];
student[studentArrayCount] = scanner.nextInt();
students = student[studentArrayCount];
studentArrayCount++;
}
public void computeHomeworkAverage(){
}
public void computeTestAverage(){
}
public void countPassingStudents(){
}
}
そして最後に、メソッドを呼び出すクラス...
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class CourseStatistics {
public static void main(String[] args) {
Student myStudent = new Student();
CourseOffering myCourse = new CourseOffering();
myStudent.openFile();
myCourse.setNumberOfSemesters();
myStudent.testing();
for(int i = 0; i < 4; i++){
myStudent.setfirstName();
myStudent.setLastName();
myStudent.setAssignmentScore();
myStudent.setLabScore();
myStudent.setMidterm1Score();
myStudent.setMidterm2Score();
myStudent.setFinalExamScore();
myStudent.setQuizScore();
myStudent.setAttendanceScore();
myStudent.setPATScore();
myStudent.setZyanteScore();
myStudent.computeLetterGrade();
System.out.println(myStudent.getFirstName() + " " + myStudent.getLastName() + " " + myStudent.computeTotalHomeworkScore() + " " + myStudent.computeTotalTestScore() + " " + myStudent.getLetterGrade());
}
System.out.println(myCourse.getNumberOfSemesters());
}
}
基本的に、エラーを取得せずに Student クラスから読み取った .txt ファイルから読み取っていると思われる CourseOffering クラスを呼び出す方法を知る必要があります。どんな助けでも大歓迎です!!