作业卡在将文件读入 类
Assignment stuck in reading files in to classes
public static Course getCourse (Scanner scan) throws Exception{
Course crs = new Course();
crs.course_id= scan.next();
crs.course_name = scan.next();
crs.lecture_id = scan.next();
crs.instructor_id = scan.next();
crs.instructor_name = scan.next();
return crs;
}
这是我的代码问题。
代码中的值是字符串。
getCourse(Scanner scan)
returns class
它应该保存到 Course[] 列表数组中。
我在 unix 中输入了一个数据文件
java Main <data
获取线路数据
public CourseManage(Scanner scanner){
while(scanner.hasNextLine()){
numCourses++;
scanner.nextLine();
}
courses = new Course[numCourses];
}
喜欢这个就好了。该文件是 5 行,它 return 是 5 行。
但上面的代码会 return 我出现 null 错误。
好吧
while(scan.hasNext()){
crs.course_id= scan.next();
crs.course_name = scan.next();
crs.lecture_id = scan.next();
crs.instructor_id = scan.next();
crs.instructor_name = scan.next();
scan.nextLine();
}
第一次写代码的时候,
它不打印空错误
但是,当我尝试打印字符串值时,它们 return 空值
是静电造成的吗?
我应该把它取下来吗?
is the Static making all the mess?
没有
should i take it off?
没有
你的问题很难理解,你只提供了代码片段。但是,我怀疑问题是您的 CourseManage
构造函数正在读取所有输入数据,以便找出数组的大小。当您随后调用 getCourse
时,扫描器位于 "end-of-file" 位置,并且(自然地)这意味着它无法读取任何内容。
有很多方法可以解决这个问题,但最简洁的方法是将 Course
对象保存在 List<Course>
而不是 Course[]
中。这样你就不需要预读流来计算数组需要多大。
public static Course getCourse (Scanner scan) throws Exception{
Course crs = new Course();
crs.course_id= scan.next();
crs.course_name = scan.next();
crs.lecture_id = scan.next();
crs.instructor_id = scan.next();
crs.instructor_name = scan.next();
return crs;
}
这是我的代码问题。
代码中的值是字符串。
getCourse(Scanner scan)
returns class
它应该保存到 Course[] 列表数组中。
我在 unix 中输入了一个数据文件
java Main <data
获取线路数据
public CourseManage(Scanner scanner){
while(scanner.hasNextLine()){
numCourses++;
scanner.nextLine();
}
courses = new Course[numCourses];
}
喜欢这个就好了。该文件是 5 行,它 return 是 5 行。
但上面的代码会 return 我出现 null 错误。
好吧
while(scan.hasNext()){
crs.course_id= scan.next();
crs.course_name = scan.next();
crs.lecture_id = scan.next();
crs.instructor_id = scan.next();
crs.instructor_name = scan.next();
scan.nextLine();
}
第一次写代码的时候,
它不打印空错误
但是,当我尝试打印字符串值时,它们 return 空值
是静电造成的吗?
我应该把它取下来吗?
is the Static making all the mess?
没有
should i take it off?
没有
你的问题很难理解,你只提供了代码片段。但是,我怀疑问题是您的 CourseManage
构造函数正在读取所有输入数据,以便找出数组的大小。当您随后调用 getCourse
时,扫描器位于 "end-of-file" 位置,并且(自然地)这意味着它无法读取任何内容。
有很多方法可以解决这个问题,但最简洁的方法是将 Course
对象保存在 List<Course>
而不是 Course[]
中。这样你就不需要预读流来计算数组需要多大。