我有一个文本文件,提供 22 个高尔夫球场的信息,包括球场名称、名称、位置、设计师、果岭费、标准杆、建造年份和总码数。正如我所读到的,每一行都需要存储到适当的变量中,然后用于创建一些对象。文件的第一行是文本文件中高尔夫球场的数量。
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”部分。感谢您抽出宝贵时间提供帮助!