testemployee.java

来自「Java the UML Way 书中所有源码」· Java 代码 · 共 70 行

JAVA
70
字号
/*
 * TestEmployee.java E.L. 2001-08-14
 *
 */
import myLibrary.InputReader; 
import javax.swing.JOptionPane;
import java.util.ArrayList;
class Employee {
  private static final int limitNo1 = 1001;  // lower limit, employeeno.
  private static final int limitNo2 = 9999;  // upper limit, employeeno.
  private static final int limitSal = 6;     // minimum salary per hour ($)
  
  private int number;
  private String name;
  private int salary; // per hour
  
  public Employee(int initNumber, String initName, int initSalary) 
                                          throws IllegalArgumentException {
    if (initSalary < limitSal) {
      throw new IllegalArgumentException("Salary: " + initSalary + 
                                 "\nThe salary should be at least $" + limitSal);
    }
    else if (initNumber < limitNo1 || initNumber > limitNo2) {
      throw new IllegalArgumentException("Number: " + initNumber +
           "\nThe number should be in the interval [" + limitNo1 + ", " + limitNo2 + "].");
    } else {
      number = initNumber;
      name = initName;
      salary = initSalary;
    }                                         
  }
  
  public int getNumber() {
    return number;
  }
  
  public String getName() {
    return name;
  }
  
  public int getSalary() {
    return salary;
  }  
  
  public String toString() {
    return "No. : " + number + ", name: " + name + ", salary: " + salary + "\n";
  }    
}    

class TestEmployee {
  public static void main(String[] args) {
    ArrayList employees = new ArrayList(); // see chapter 10.
    int number = InputReader.inputInteger("Employee no. (0 for exit): ");
    while (number != 0) {
      try {
        String name = InputReader.inputText("Name: ");
        int salary = InputReader.inputInteger("Salary, per hour: ");
        Employee emp = new Employee(number, name, salary);
        employees.add(emp);
      } catch (IllegalArgumentException e) {
        JOptionPane.showMessageDialog(null, e.getMessage() + 
                                    "\nStart over again with this employee");
      }
      number = InputReader.inputInteger("Employee no. (0 for exit): ");
    } 
    System.out.println("Control output:\n");
    for (int i = 0; i < employees.size(); i++) System.out.println(employees.get(i));
    System.exit(0);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?