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)
返回班级
它应该保存到Course []列表数组。
我在unix中输入数据文件
java Main <data
获取行数据
public CourseManage(Scanner scanner){
while(scanner.hasNextLine()){
numCourses++;
scanner.nextLine();
}
courses = new Course[numCourses];
}
好像这样。该文件是5行,它返回5行。
但上面的代码会返回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();
}
首先我做了代码,
它不会打印空错误
但是,当我尝试打印字符串值时,它们返回空值
静态制造所有混乱?
我应该把它摘下来吗?
答案 0 :(得分:0)
静态制造所有混乱?
没有
我应该把它摘下来吗?
没有
您的问题很难理解,而且您只提供代码段。但是,我怀疑问题是你的CourseManage
构造函数正在读取所有输入数据,以便找出制作数组的大小。然后,当您打电话给getCourse
时,扫描仪位于&#34;文件末尾&#34;位置,(自然地),这意味着它无法读取任何内容。
有很多方法可以解决这个问题,但最简单的方法是将Course
个对象放在List<Course>
而不是Course[]
中。这样你就不需要预先读取流来确定数组需要多大的数量。