X Tutup
// An educational institution wishes to maintain a database of employees. Database is divided into number of classes. // This hierarchical relationships are shown in the figure, it also shows minimum information required for each class and define methods to create a database // and retrieve individual info as and when required. import java.util.Scanner; class Staff { // code // name Scanner sc = new Scanner(System.in); public int emp_id; public String name; } class Teacher extends Staff { // subject // publication public String subject, publication; public void getData() { System.out.println("Enter employee details: "); System.out.println("Enter name: "); name = sc.nextLine(); System.out.println("Enter employee id: "); emp_id = sc.nextInt(); System.out.println("Enter subject: "); subject = sc.nextLine(); System.out.println("Enter publication: "); publication = sc.nextLine(); } public void displayData() { System.out.println("Displaying employee details: "); System.out.println("Name: " + name); System.out.println("Employee id: " + emp_id); System.out.println("Subject: " + subject); System.out.println("Publication: " + publication); } } class Typist extends Staff { // speed public double speed; public void getData() { System.out.println("Enter employee details: "); System.out.println("Enter name: "); name = sc.nextLine(); System.out.println("Enter employee id: "); emp_id = sc.nextInt(); System.out.println("Enter speed: "); speed = sc.nextDouble(); } public void displayData() { System.out.println("Displaying employee details: "); System.out.println("Name: " + name); System.out.println("Employee id: " + emp_id); System.out.println("Speed: " + speed); } } class Officer extends Staff { // grade public String grade; public void getData() { System.out.println("Enter employee details: "); System.out.println("Enter name: "); name = sc.nextLine(); System.out.println("Enter employee id: "); emp_id = sc.nextInt(); System.out.println("Enter grade: "); grade = sc.next(); } public void displayData() { System.out.println("Displaying employee details: "); System.out.println("Name: " + name); System.out.println("Employee id: " + emp_id); System.out.println("Grade: " + grade); } } class Regular extends Typist { } class Casual extends Typist { // daily wages public double dwages; public void getData() { System.out.println("Enter employee details: "); System.out.println("Enter name: "); name = sc.nextLine(); System.out.println("Enter employee id: "); emp_id = sc.nextInt(); System.out.println("Enter daily wages: "); dwages = sc.nextDouble(); } public void displayData() { System.out.println("Displaying employee details: "); System.out.println("Name: " + name); System.out.println("Employee id: " + emp_id); System.out.println("Daily wages: " + dwages); } } public class EduEmpDB { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int choice = 0; do { System.out.println("Enter 1 for teacher, 2 for regular typist, 3 for casual typist, 4 for officer, 5 to exit: "); choice = sc.nextInt(); switch (choice) { case 1: Teacher t = new Teacher(); t.getData(); t.displayData(); break; case 2: Regular r = new Regular(); r.getData(); r.displayData(); break; case 3: Casual c = new Casual(); c.getData(); c.displayData(); break; case 4: Officer o = new Officer(); o.getData(); o.displayData(); break; default: if (choice != 5) { System.out.println("Invalid input!"); } else if (choice == 5) { System.out.println("End of program"); } } } while(choice != 5); } }
X Tutup