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