class fullTimeEmployee { private String firstName; private String lastName; private String empId; private double payRate; private double hoursWorked; public fullTimeEmployee(String fn,String ln, String id, double rate, double hrs) { firstName=fn; lastName=ln; empId=id; payRate=rate; hoursWorked=hrs; }
public String getFirstName() { return firstName; }
public String getLastName() { return lastName; }
public String getId() { return empId; }
public double getPayrate() { return payRate; }
public double getHrsWork() { return hoursWorked; }
public double calculatePay() { return(payRate*hoursWorked); } } |
public class casualEmployee extends fullTimeEmployee { private String type;
public casualEmployee(String firstName,String lastName,String emptId, double payRate, double hoursWorked,String t) { super (firstName,lastName, emptId, payRate, hoursWorked); type=t; }
public String getEmpType() {return "Employment type:\t"+type;} } |
//Name: Chumnap Thach //Function: Calculate payroll //Date: 25, may, 2005
import java.io.*; class test { static BufferedReader kb=new BufferedReader(new InputStreamReader(System.in));
//==================Main method========================== public static void main(String [] args) throws IOException { int num=0; char cont; do{ do { menu(); num = Integer.parseInt(kb.readLine()); switch(num) { case 1: enterDetail(); break;
case 2: readList(); break;
case 3:
break; default: System.out.print("out of range.."); }//end switch }while(num !=3);//end do System.out.print("Are you sure you want to exit? (y/n): "); String s=kb.readLine(); cont=s.charAt(0); }while(cont !='y'); }//end main
//===========MENU======== public static void menu() { System.out.println("\n\t\t---------------------------------"); System.out.println("\t\t\tEMPLOYEE PAY SYSTEM.."); System.out.println("\t\t---------------------------------"); System.out.println(); System.out.println("\t\t1.\tCalculate employee pay"); System.out.println("\t\t2.\tPrint employee list"); System.out.println("\t\t3.\tExit"); }
//======================================================= public static void enterDetail() throws IOException { int fullTimeNo=2; int casualNo=2; int noOfEmployee=fullTimeNo+casualNo; //public double hoursWorked=0; String []fname= new String[noOfEmployee]; String []lname= new String[noOfEmployee]; String []id=new String[noOfEmployee]; String []type= new String[noOfEmployee]; double []rate =new double[noOfEmployee]; double []hrs=new double[noOfEmployee]; double []pay=new double[noOfEmployee];
fullTimeEmployee []fm= new fullTimeEmployee[noOfEmployee];
//---------ENTER FULL TIME EMPLOYEE DETAIL---------------------
System.out.print("Please enter employment type: "); System.out.print("'F' for \"full time\", 'C' for \"Casual\""); char empType = kb.readLine().charAt(0); switch(empType) { case 'f': case 'F':
System.out.print("Please enter full time pay rate:\t"); double payRate=Double.parseDouble(kb.readLine());
for(int i=0;i<fullTimeNo;i++) { System.out.print(i+". First name:\t"); String firstName=kb.readLine();
System.out.print(i+". Last name:\t"); String lastName=kb.readLine();
System.out.print(i+". Id number :\t"); String empId=kb.readLine(); System.out.println();
System.out.println("\n\t\tPlease enter hours worked");
System.out.print("\t\tMonday:\t\t"); double Monday=Double.parseDouble(kb.readLine());
System.out.print("\t\tTuesday:\t"); double Tuesday=Double.parseDouble(kb.readLine());
System.out.print("\t\tWednesday:\t"); double Wednesday=Double.parseDouble(kb.readLine());
System.out.print("\t\tThursdy:\t"); double Thursday=Double.parseDouble(kb.readLine());
System.out.print("\t\tFriday:\t\t"); double Friday=Double.parseDouble(kb.readLine());
double hoursWorked=Monday+Tuesday+Wednesday+Thursday+Friday; System.out.println("\t\tHours worked:\t"+hoursWorked);
//Constructor fm[i]=new fullTimeEmployee(firstName, lastName, empId, payRate, hoursWorked);
System.out.println("You was enter detail as below:"); fullTimeEmployee f=fm[i]; System.out.println(i+". First name:\t"+f.getFirstName()); System.out.println(i+". Last name:\t"+f.getLastName()); System.out.println(i+". Gross pay:\t"+f.calculatePay());
fname[i]=firstName; lname[i]=lastName; id[i]=empId; type[i]= "Full time"; rate[i]=payRate; hrs[i]=hoursWorked; pay[i]=payRate*hoursWorked; }//end for
//============== try{ PrintWriter pw=new PrintWriter(new FileWriter("payslip.txt")); for(int i=0;i<fullTimeNo;i++) { pw.print("First name:\t"); pw.println(fname[i]); pw.print("Last name:\t"); pw.println(lname[i]); pw.print("Id number:\t"); pw.println(id[i]); pw.println("Employment type:\t"+type[i]); pw.println("Pay rate\t"+rate[i]); pw.println("Hours Worked\t"+hrs[i]); pw.println("Gross pay:\t"+pay[i]); pw.println(); //seperate each employee // System.out.print(lname[i]); } pw.close(); System.out.println("Payslip has been write to payslip.txt"); } catch(IOException e) { System.out.print("File writing errors"); } //================== PrintWriter pw2=new PrintWriter(new FileWriter("list.txt")); for(int i=0;i<fullTimeNo;i++) { pw2.print(fname[i]); pw2.print("\t"); pw2.println(lname[i]); } pw2.close();
break;
case 'c': case 'C': //-------Enter casual employee details------------------- System.out.println("\n\tPLEASE ENTER CASUAL EMPLOYEE DETAIL"); System.out.print("Please enter Casual pay rate:\t"); payRate=Double.parseDouble(kb.readLine());
for(int i=fullTimeNo;i<fm.length;i++) { System.out.print(i+". First name:\t"); String firstName=kb.readLine();
System.out.print(i+". Last name:\t"); String lastName=kb.readLine();
System.out.print(i+". Id number:\t"); String empId=kb.readLine();
double hoursWorked; System.out.println("\n\t\tPlease enter hours worked"); System.out.print("\t\tMonday:\t\t"); double Monday=Double.parseDouble(kb.readLine()); //hoursWorked=Monday;
System.out.print("\t\tTuesday:\t"); double Tuesday=Double.parseDouble(kb.readLine());
System.out.print("\t\tWednesday:\t"); double Wednesday=Double.parseDouble(kb.readLine());
System.out.print("\t\tThursdy:\t"); double Thursday=Double.parseDouble(kb.readLine());
System.out.print("\t\tFriday:\t\t"); double Friday=Double.parseDouble(kb.readLine());
hoursWorked=Monday+Tuesday+Wednesday+Thursday+Friday; System.out.println("Hours work\t"+hoursWorked);
casualEmployee cs=new casualEmployee(firstName, lastName,empId, payRate,hoursWorked,"Casual"); fm[i]=cs; casualEmployee c=cs; System.out.println(c.getEmpType()); System.out.println(); fname[i]=firstName; lname[i]=lastName; id[i]=empId; type[i]="Casual"; rate[i]=payRate; hrs[i]=hoursWorked; pay[i]=payRate*hoursWorked; }
//====================== PrintWriter p=new PrintWriter(new FileWriter("payslip.txt")); for(int i=fullTimeNo;i<fm.length;i++) { p.print("First name:\t"); p.println(fname[i]); p.print("Last name:\t"); p.println(lname[i]); p.print("Id number:\t"); p.println(id[i]); p.println("Employment type:\t"+type[i]); p.println("Pay rate\t"+rate[i]); p.println("Hours Worked\t"+hrs[i]); p.println("Gross pay:\t"+pay[i]); p.println(); //seperate each employee // System.out.print(lname[i]); } p.close(); System.out.println("Payslip has been write to payslip.txt");
PrintWriter p2=new PrintWriter(new FileWriter("list.txt")); for(int i=fullTimeNo;i<fm.length;i++) { p2.print(fname[i]); p2.print("\t"); p2.println(lname[i]); } p2.close();
break; default: System.out.print("Please enter C or F");
}
}//enterDetail?
//=================Read payslip================== public static void readList()throws IOException { FileReader fr=new FileReader("list.txt"); BufferedReader rf=new BufferedReader(fr); boolean eof=false; while(!eof) { String line=rf.readLine(); if(line==null) eof=true; else System.out.println(line); }rf.close(); }
}//end class
|