public void initalCourse() { File file = new File("course.bat"); /** * 判断这个文件或者目录是否存在,默认是true存在的,如果不存在则为false */ if (!file.exists()) { List<Course> list = new ArrayList<>(); //创建课程对象 Course course1 = new Course(1001, "初始化HTML5", "前端开发", 30, "30小时", "teacherZhang"); Course course2 = new Course(1002, "HTML5+CSS3", "前端开发", 40, "40小时", "teacherZhang"); Course course3 = new Course(1003, "javaSE入门", "后端开发", 40, "90小时", "lisi"); Course course4 = new Course(1004, "MYSQL数据库", "后端开发", 50, "50小时", "zhangsan"); //将所有课程添加到集合中 list.add(course1); list.add(course2); list.add(course3); list.add(course4); //将集合添加到文件中 saveCourse(list); } } /** * 查询全部课程的信息 */ private void showAllCourse() { //调用显示全部的课程的方法 if (role != null) { List<Course> query = role.query(); showList(query); } } private void showList(List<Course> list){ System.out.println("课程编号\t课程名称\t\t课程类别\t\t总课时\t总时长\t主讲老师"); for (Course course:list) { System.out.println(course);//调用了Course默认的toString } } public List<Course> query() { if (teaAuthority == null) { System.out.println("对不起,您还没有登录,请先登录再去操作数据"); } else { return teaAuthority.getAllCourse(); } return null; } Exception in thread "main" java.lang.NullPointerException at com.sxau.learningsystem.service.impl.SuperServiceImpl.showList(SuperServiceImpl.java:255) at com.sxau.learningsystem.service.impl.SuperServiceImpl.showCourseByType(SuperServiceImpl.java:268) at com.sxau.learningsystem.service.impl.SuperServiceImpl.showTeacherMenu(SuperServiceImpl.java:167) at com.sxau.learningsystem.service.impl.SuperServiceImpl.accreditRole(SuperServiceImpl.java:145) at com.sxau.learningsystem.service.impl.SuperServiceImpl.mainMenu(SuperServiceImpl.java:46) at com.sxau.learningsystem.test.Test.main(Test.java:14)
时间: 2024-04-11 14:30:50 浏览: 95
根据您提供的代码和错误信息,出现了空指针异常(NullPointerException)。在SuperServiceImpl类的showList方法中的第255行引发了异常,可能是因为在调用该方法时传入了一个空的课程列表。您可以检查一下代码,确保在调用showList方法之前,确保传入的课程列表不为空。另外,还可以检查showCourseByType、showTeacherMenu、accreditRole和mainMenu方法中的相关代码,确保没有类似的空指针异常产生。如果您需要更具体的帮助,请提供更多的代码上下文信息。
阅读全文