22 のゴルフ コースの情報を提供するテキスト ファイルがあります。これには、コースの名前、名前、場所、設計者、グリーン料金、パー、建設年、合計ヤードが含まれます。私が読んだように、各行を適切な変数に格納してから、いくつかのオブジェクトを作成するために使用する必要があります。ファイルの 1 行目は、テキスト ファイル内のゴルフ コースの数です。
FileInputStream fstream = new FileInputStream(System.getProperty("user.dir")
+ "\\GolfCourses.txt");
//use file
DataInputStream in = new DataInputStream(fstream);
//read input
BufferedReader br = new BufferedReader(new InputStreamReader(in));
Tree newTree = new Tree();
try{
String line = br.readLine();
if(line==null)
throw new IOException();
int clubs = Integer.parseInt(line);
for(int i = 0; i < clubs; i++){
String name = br.readLine();
String location = br.readLine();
double fee = Double.parseDouble(br.readLine());
int par = Integer.parseInt(br.readLine());
String designer = br.readLine();
int built = Integer.parseInt(br.readLine());
int yards = Integer.parseInt(br.readLine());
newTree.insert(new TreeNode(new GolfCourse(name, location, designer, fee, par, built, yards)));
}
in.close();
}catch(IOException e){
System.out.println(e);
}
読み込みが先に進んでいるように見えるため、プログラムは数値ではなく文字列を解析しようとしています。以前にこの問題が発生したことがないため、修正方法がわかりません。
編集:コードは意図したとおりに機能するようになりました。この問題は、for ループの「i <= clubs」部分から発生していました。お時間を割いていただきありがとうございます。