import java.util.Scanner; public class Main { @SuppressWarnings("InfiniteLoopStatement") public static void main(String[] args) { while (true) { System.out.println("Please choose action from menu:\n" + "1. Register Teacher:\n" + "2. Delete Teacher:\n" + "3. Find Teacher:\n" + "4. Show all Teacher:\n" + "5. Add your classrom to student:\n" + "6. Delete from your classrom students:\n" + "7. Find the Student in your classroom\n" + "8. Show my student in my classroom:\n" + "9. Exit menu:\n"); int menuId = new Scanner(System.in).nextInt(); if (menuId == 1) { System.out.println("How many teacher will registered? "); int countTeacher = new Scanner(System.in).nextInt();//2 Teacherstore.teachers = new Teacher[countTeacher]; for (int i = 0; i < Teacherstore.teachers.length; i++) { System.out.println("Write info detail person: " + (i + 1)); System.out.println("Enter id:"); int id = new Scanner(System.in).nextInt(); System.out.println("Enter name:"); String name = new Scanner(System.in).nextLine(); System.out.println("Enter surname:"); String surname = new Scanner(System.in).nextLine(); System.out.println("Enter age:"); int age = new Scanner(System.in).nextInt(); System.out.println("Enter salary:"); double salary = new Scanner(System.in).nextDouble(); Teacher teacher = new Teacher(id, name, surname, age, salary); Teacherstore.teachers[Teacherstore.currentTeacher++] = teacher; System.out.println("Teacher succesfully registred: " + teacher); System.out.println(); } } else if (menuId == 2) { System.out.println("Write id to delete following Teacher: "); for (int i = 0; i < Teacherstore.teachers.length; i++) { if (Teacherstore.teachers[i] != null) { System.out.println(Teacherstore.teachers[i]); } } int teacherDelete = new Scanner(System.in).nextInt(); for (int i = 0; i < Teacherstore.teachers.length; i++) { if (Teacherstore.teachers[i] != null && Teacherstore.teachers[i].getId() == teacherDelete) { System.out.println("Teacher successfully deleted: " + Teacherstore.teachers[i]); Teacherstore.teachers[i] = null; } } for (int i = 0; i < Teacherstore.teachers.length; i++) { if (Teacherstore.teachers[i] != null) { System.out.println("Teachers remaining in the database: " + Teacherstore.teachers[i]); } } } else if (menuId == 3) { System.out.println("Write id,name,surname or salary to find Teacher: "); String findKey = new Scanner(System.in).nextLine(); for (int i = 0; i < Teacherstore.teachers.length; i++) { if (Teacherstore.teachers[i] != null) { if (Teacherstore.teachers[i].getId().toString().contains(findKey) || Teacherstore.teachers[i].getName().contains(findKey) || Teacherstore.teachers[i].getSurname().contains(findKey) || Teacherstore.teachers[i].getAge().toString().contains(findKey) || Teacherstore.teachers[i].getSalary().toString().contains(findKey)) { System.out.println("Founded teacher:" + Teacherstore.teachers[i]); } } } } else if (menuId == 4) { System.out.println("Teachers remaining in the database: "); for (int i = 0; i < Teacherstore.teachers.length; i++) { if (Teacherstore.teachers[i] != null) { System.out.println(Teacherstore.teachers[i]); } } System.out.println(); } else if (menuId == 5) { System.out.println("How many student add your classroom: "); int countStudents = new Scanner(System.in).nextInt(); Teacher.studentsTeacher = new Student[countStudents]; for (int i = 0; i < Teacher.studentsTeacher.length; i++) { System.out.println("Write info detail student: " + (i + 1)); System.out.println("Enter id: "); int id = new Scanner(System.in).nextInt(); System.out.println("Enter name: "); String name = new Scanner(System.in).nextLine(); System.out.println("Enter surname: "); String surname = new Scanner(System.in).nextLine(); System.out.println("Enter age: "); int age = new Scanner(System.in).nextInt(); System.out.println("Enter scholarship: "); double scholarship = new Scanner(System.in).nextDouble(); Student student = new Student(id, name, surname, age, scholarship); Teacher.studentsTeacher[i] = student; System.out.println("Student succesfully add the classrom: " + student); System.out.println(); } } else if (menuId == 6) { System.out.println("Which student do you want to delete from your class?"); for (int i = 0; i < Teacher.studentsTeacher.length; i++) { if (Teacher.studentsTeacher[i] != null) { System.out.println(Teacher.studentsTeacher[i]); break; } } String deleteStudent = new Scanner(System.in).nextLine(); for (int i = 0; i < Teacher.studentsTeacher.length; i++) { if (Teacher.studentsTeacher[i] != null && Teacher.studentsTeacher[i].getId().toString().contains(deleteStudent)) { System.out.println("Student successfully deleted from your classrom: " + Teacher.studentsTeacher[i]); Teacher.studentsTeacher = null; break; } else if (Teacher.studentsTeacher[i] != null && Teacher.studentsTeacher[i].getName().contains(deleteStudent)) { System.out.println("Student successfully deleted from your classrom: " + Teacher.studentsTeacher[i]); Teacher.studentsTeacher = null; break; } else if (Teacher.studentsTeacher[i] != null && Teacher.studentsTeacher[i].getSurname().contains(deleteStudent)) { System.out.println("Student successfully deleted from your classrom: " + Teacher.studentsTeacher[i]); Teacher.studentsTeacher = null; break; } else if (Teacher.studentsTeacher[i] != null && Teacher.studentsTeacher[i].getAge().toString().contains(deleteStudent)) { System.out.println("Student successfully deleted from your classrom: " + Teacher.studentsTeacher[i]); Teacher.studentsTeacher = null; break; } else if (Teacher.studentsTeacher[i] != null && Teacher.studentsTeacher[i].getScholarship().toString().contains(deleteStudent)) { System.out.println("Student successfully deleted from your classrom: " + Teacher.studentsTeacher[i]); Teacher.studentsTeacher = null; break; } } } else if (menuId == 8) { System.out.println("Students in your classrom: "); for (int i = 0; i < Teacher.studentsTeacher.length; i++) { if (Teacher.studentsTeacher[i] != null) { System.out.println(Teacher.studentsTeacher[i]); } } System.out.println(); } } } } What I have tried: I tried solve the NullPointerException.
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)