In: Computer Science
Specifications
Sample Output (Your output should be similar to the text in the following box)
Welcome to my app EMPLOYEE DATA ENTRY Manager or Representative? (m/r): d Invalid selection. Continue? (y/n): y Manager or Representative? (m/r): m First Name: Frank Continue? (y/n): y Manager or Representative? (m/r): r First Name: John Continue? (y/n): n EMPLOYEE INFORMATION Thank you for using my app |
Following is the answer:
Employee.java
public class Employee { private String firstName; private String lastName; private String email; private int ssn; Employee(){} Employee(String firstName, String lastName, String email, int ssn){ this.firstName = firstName; this.lastName = lastName; this.email = email; this.ssn = ssn; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public int getSsn() { return ssn; } public double get_net_income(){ return 0; } public void setSsn(int ssn) { this.ssn = ssn; } }
Manager.java
public class Manager extends Employee { private double expr; private double annualSalary; Manager(String firstName, String lastName, String email, int ssn, double expr, double annualSalary){ super(firstName, lastName, email, ssn); this.expr = expr; this.annualSalary = annualSalary; } public double getExpr() { return expr; } public void setExpr(double expr) { this.expr = expr; } public double getAnnualSalary() { return annualSalary; } public void setAnnualSalary(double annualSalary) { this.annualSalary = annualSalary; } @Override public double get_net_income() { double bonus = expr * 1000; double grossincome = annualSalary + bonus; double tax = grossincome * 0.30; return grossincome - tax; } @Override public String toString() { return super.getFirstName() + ", " + super.getLastName() + ", " + super.getEmail() + ", " + super.getSsn() + ", " + this.get_net_income(); } }
Representative.java
public class Representative extends Employee { private int hours; private double payRate; Representative(String firstName, String lastName, String email, int ssn, int hours, double payRate){ super(firstName, lastName, email, ssn); this.hours = hours; this.payRate = payRate; } public int getHours() { return hours; } public void setHours(int hours) { this.hours = hours; } public double getPayRate() { return payRate; } public void setPayRate(double payRate) { this.payRate = payRate; } @Override public double get_net_income() { double gross = hours * 52 * payRate; double tax = gross * 0.20; return gross-tax; } @Override public String toString() { return super.getFirstName() + ", " + super.getLastName() + ", " + super.getEmail() + ", " + super.getSsn() + ", " + this.get_net_income(); } }
Emp.java(main)
import java.util.ArrayList; import java.util.Scanner; public class Emp { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Welcome to the app"); char choice = 0; ArrayList<Employee> arr = new ArrayList<Employee>(); do{ System.out.println("EMPLOYEE DATA ENTRY"); char ch; System.out.println("Manager or Representative? (m/r): "); ch = sc.next().charAt(0); if(ch == 'm' || ch == 'r'){ switch (ch){ case 'm': System.out.println("First name: "); String firstname = sc.next(); System.out.println("Last name: "); String lastname = sc.next(); System.out.println("Email:"); String email = sc.next(); System.out.println("SSN"); int ssn = sc.nextInt(); System.out.println("Years of Experience: "); int year = sc.nextInt(); System.out.println("Annual Salary: "); double salary = sc.nextDouble(); Manager m = new Manager(firstname,lastname,email,ssn,year,salary); arr.add(m); break; case 'r': System.out.println("First name: "); String firstname1 = sc.next(); System.out.println("Last name: "); String lastname1 = sc.next(); System.out.println("Email:"); String email1 = sc.next(); System.out.println("SSN"); int ssn1 = sc.nextInt(); System.out.println("Weekly Hours of Work: "); int hours = sc.nextInt(); System.out.println("Pay Rate: "); double payrate = sc.nextDouble(); Representative r = new Representative(firstname1,lastname1,email1,ssn1,hours,payrate); arr.add(r); break; } }else{ System.out.println("Invalid selection."); } System.out.println("Continue? (y/n):"); choice = sc.next().charAt(0); }while (choice == 'y'); System.out.println("EMPLOYEE INFORMATION"); for(int i = 0 ; i < arr.size() ; i++){ System.out.println(arr.get(i).toString()); } } }
Output: