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:
