import java.util.Scanner; public class Driver { public static void main(String[] args) { boolean valid; int num_Employees; Employee[] data = new Employee[100]; int salary_sum = 0; double avg_salary; Scanner keyboard = new Scanner(System.in); do { System.out.println("Number of Employees:"); num_Employees = keyboard.nextInt(); }while(num_Employees < 0 || num_Employees > 100); int e_count = 1; String ssnInput; int sal; while(e_count <= num_Employees) { Employee e = new Employee(); // Enter Employee Details e.EnterEmployeeDetails(e_count); salary_sum += e.getSalary(); // Verification of SSN (Length and Character) do { valid = true; try { String str = e.getSSN(); int count = 0; // Check for SSNLength Exception for(int i=0; i < str.length(); i++) { if(str.charAt(i) != '-' && str.charAt(i) != ' ') count++; } if(count != 9) { valid = false; throw new SSNLengthException(); } /* **************************************** */ for(int j = 0; j < str.length(); j++ ) { if(str.charAt(j) != '-' && str.charAt(j) != ' ') { if(!Character.isDigit(str.charAt(j))) { valid = false; throw new SSNCharacterException(); } } } } catch(SSNLengthException exp) { System.out.println(exp.getMessage()); e.EnterEmployeeSSN(e_count); } catch(SSNCharacterException expr) { System.out.println(expr.getMessage()); e.EnterEmployeeSSN(e_count); } }while(valid == false); data[e_count - 1] = e; e_count++; } // end of while avg_salary = (double)salary_sum / num_Employees; for(int k=0; k < num_Employees; k++) { if(data[k].getSalary() > avg_salary) { System.out.printf("EmpNumber %d: %s ABOVE SALARY %n", k+1, data[k].toString()); } else System.out.printf("EmpNumber %d: %s BELOW SALARY %n", k+1, data[k].toString()); } } }
Thursday, October 28, 2010
Lab 17 -- Solution -- Class: Driver
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment