Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.ArrayList;
- public class Main {
- Scanner scan = new Scanner(System.in);
- ArrayList <Data> listData = new ArrayList<>();
- public Main() {
- int menu = -1;
- do {
- showmenu();
- menu = scanInteger();
- switch(menu) {
- case 1:
- String name;
- do {
- System.out.print("Input employee name[must be more than 3 characters]: ");
- name = scan.nextLine();
- }while(!(name.length() > 2));
- Integer age;
- do {
- System.out.print("Input employee age[>= 17]: ");
- age = scanInteger();
- }while(!(age >= 17));
- String role;
- do {
- System.out.print("Input employee role[Assistant | Programmer]: ");
- role = scan.nextLine();
- }while(!(role.equals("Assistant") || role.equals("Programmer")));
- String type;
- int which = 0;
- do {
- System.out.print("Input employee type[PartTime | FullTime]: ");
- type = scan.nextLine();
- if (type.equals("PartTime")) {
- which = 1;
- break;
- } else if (type.equals("FullTime")) {
- which = 2;
- break;
- }
- }while(!(type.equals("PartTime") || type.equals("FullTime")));
- if(which == 1) {
- PartTime pt = new PartTime(name, age, role, type);
- Integer wpay;
- do {
- System.out.print("Input pay per hour[>= 10000]: ");
- wpay = scanInteger();
- }while(!(wpay >= 10000));
- Integer whour;
- do {
- System.out.print("Input working hour per week[>0]: ");
- whour = scanInteger();
- }while(!(whour > 0));
- pt.setWhour(whour);
- pt.setWpay(wpay);
- listData.add(pt);
- }else {
- FullTime ft = new FullTime(name, age, role, type);
- Integer salary;
- do {
- System.out.print("Input base salary[>= 10000]: ");
- salary = scanInteger();
- }while(!(salary >= 10000));
- ft.setSalary(salary);
- listData.add(ft);
- }
- System.out.println();
- System.out.println("Success insert employee data");
- done();
- break;
- case 2:
- if(listData.isEmpty()) {
- none();
- }else {
- showData();
- done();
- }
- break;
- case 3:
- if(listData.isEmpty()) {
- none();
- }else {
- showData();
- Data tempData = getData();
- tempData.setState(true);
- done();
- }
- }
- }while(menu != 4);
- }
- public void showmenu() {
- System.out.println("ABC EMPLOYEE DATA");
- System.out.println("=================");
- System.out.print("1. Add employee\r\n" +
- "2. View employee\r\n" +
- "3. Resign\r\n" +
- "4. Exit\r\n" +
- "");
- System.out.print("Choice: ");
- }
- public void showData() {
- for(int i = 0; i<listData.size(); i++) {
- System.out.println("Employee no." + (i+1));
- if(listData.get(i).getType().equals("PartTime")) {
- System.out.println("Part Time Employee");
- }else {
- System.out.println("Full Time Employee");
- }
- System.out.println("==================");
- if(listData.get(i).isState()) {
- System.out.println("Status: not active");
- }else {
- System.out.println("Status: active");
- }
- System.out.println("Name: " + listData.get(i).getName());
- System.out.println("Age: " + listData.get(i).getAge());
- System.out.println("Role: " + listData.get(i).getRole());
- if(listData.get(i).getType().equals("PartTime")){
- PartTime pt = (PartTime) listData.get(i);
- System.out.println("Pay per hour: " + pt.getWpay());
- System.out.println("Working hour per week: " + pt.getWhour());
- System.out.println("Salary per month: " + (pt.getWpay()*pt.getWhour()*4));
- }else {
- FullTime ft = (FullTime) listData.get(i);
- System.out.println("Base salary per month: " + ft.getSalary());
- }
- System.out.println();
- }
- }
- public Data getData() {
- int number = -1;
- do {
- System.out.print("Input employee number that want to resign[1.." + listData.size() + "]: ");
- number = scanInteger();
- }while(!(number > 0 || number <= listData.size()));
- if(listData.get(number-1).isState()==false) {
- System.out.println();
- System.out.println(listData.get(number-1).getName() + " is resigning...");
- }else {
- System.out.println();
- System.out.println("Employee has already resigned!");
- }
- return listData.get(number-1);
- }
- public void done() {
- System.out.println();
- System.out.println("Press any key to continue...");
- scan.nextLine();
- }
- public void none() {
- System.out.println("There is no employee in the list");
- scan.nextLine();
- }
- public int scanInteger() {
- int number = -1;
- try {
- number = scan.nextInt();
- }catch (Exception e){
- System.out.println("Input should be number!");
- number = -1;
- }
- scan.nextLine();
- return number;
- }
- public static void main(String[] args) {
- new Main();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement