employee
unknown
plain_text
3 years ago
4.8 kB
6
Indexable
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package v01;
import java.util.ArrayList;
import java.util.Scanner;
/**
*
* @author MSI GTX
*/
public class Employee {
private static final String VALID_ID = "^NV(?!0000)\\d{4}$";
String id;
String name;
double salary;
double COE;
Scanner sc = new Scanner(System.in);
ArrayList<Employee> employee = new ArrayList<>();
/**
* Create new employee
*
* @param id ID of employee
* @param name Name of employee
* @param salary Salary of employee
* @param COE Coefficients of salary
*/
public Employee(String id, String name, double salary, double COE) {
this.id = id;
this.name = name;
this.salary = salary;
this.COE = COE;
}
/**
* Create a constructor
*/
public Employee() {
}
/**
* Get Id
*
* @return
*/
public String getId() {
return id;
}
/**
* Set Id
*
* @param id
*/
public void setId(String id) {
this.id = id;
}
/**
* Get name
*
* @return
*/
public String getName() {
return name;
}
/**
* Set name
*
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* Get salary
*
* @return
*/
public double getSalary() {
return salary;
}
/**
* Set salary
*
* @param salary
*/
public void setSalary(double salary) {
this.salary = salary;
}
/**
* Get COE
*
* @return
*/
public double getCOE() {
return COE;
}
/**
* Set COE
*
* @param COE
*/
public void setCOE(double COE) {
this.COE = COE;
}
/**
* Calculate salary
*
* @return
*/
public double calSalary() {
return getSalary() * getCOE();
}
/**
* Input value ID
*/
public void inputID() {
System.out.print("Please enter ID number: ");
do {
try {
id = sc.nextLine();
//ID must include 6 characters, the 2 first character is "NV", characters remaining are number.
if (!id.matches(VALID_ID)) {
System.out.print("--------Erorr! Please ID number again (NVxxxx): ");
}
} catch (Exception e) {
System.out.print("--------Erorr! Please ID number again (NVxxxx): ");
}
} while (!id.matches(VALID_ID));
}
/**
* Input value name, salary, COE
*/
public void input() {
//Validate the input. The name can't be empty.
System.out.print("Please enter name: ");
do {
try {
name = sc.nextLine();
if (name.trim().equals("")) {
System.out.print("--------Erorr! Please name again (Not Null): ");
}
} catch (Exception e) {
System.out.print("--------Erorr! Please name again (Not Null): ");
}
} while (name.trim().equals(""));
System.out.print("Please enter salary: ");
//Validate the input. The salary must be great than 100.
do {
try {
salary = Double.parseDouble(sc.nextLine());
if (salary <= 100) {
System.out.print("--------Erorr! Please salary again (Salary > 100 USD): ");
}
} catch (NumberFormatException e) {
System.out.print("--------Erorr! Please salary again (Salary > 100 USD): ");
}
} while (salary <= 100);
System.out.print("Please enter coefficients salary: ");
//Validate the input. The COE must be from 1 to 5.
do {
try {
COE = Double.parseDouble(sc.nextLine());
if (COE < 1 || COE > 5) {
System.out.print("--------Erorr! Please coefficients salary again (From 1 to 5): ");
}
} catch (NumberFormatException e) {
System.out.print("--------Erorr! Please coefficients salary again (From 1 to 5): ");
}
} while (COE < 1 || COE > 5);
}
/**
* Output value
*/
public void output() {
System.out.printf("|%-12s|%-24s|%-16.0f|%-13.1f|\n", this.getId(), this.getName(), this.getSalary(), this.getCOE());
}
}
Editor is loading...