|
|
|
@ -4,6 +4,7 @@
|
|
|
|
|
*/
|
|
|
|
|
package com.calebfontenot.lab4_calebfontenot;
|
|
|
|
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
|
|
import java.util.Scanner;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -21,26 +22,43 @@ public class payroll {
|
|
|
|
|
String employeeName;
|
|
|
|
|
double hoursWorked;
|
|
|
|
|
double hourlyPayRate;
|
|
|
|
|
double taxWithholdingRate;
|
|
|
|
|
double federalTaxWithholdingRate;
|
|
|
|
|
double stateTaxWithholdingRate;
|
|
|
|
|
double grossPay;
|
|
|
|
|
double federalWithholding;
|
|
|
|
|
double stateWithholding;
|
|
|
|
|
double totalDeduction;
|
|
|
|
|
|
|
|
|
|
// Prompt for input
|
|
|
|
|
System.out.print("Enter employee's name: ");
|
|
|
|
|
employeeName = input.next();
|
|
|
|
|
System.out.print("Enter the number of hours worked in a week: ");
|
|
|
|
|
hoursWorked = input.nextDouble();
|
|
|
|
|
System.out.print("Enter the hourly pay rate: ");
|
|
|
|
|
System.out.print("Enter the hourly pay rate: $");
|
|
|
|
|
hourlyPayRate = input.nextDouble();
|
|
|
|
|
System.out.println("Enter the federal tax witholding rate: ");
|
|
|
|
|
taxWithholdingRate = input.nextDouble();
|
|
|
|
|
System.out.print("Enter the federal tax witholding rate (as a decimal, please!): ");
|
|
|
|
|
federalTaxWithholdingRate = input.nextDouble();
|
|
|
|
|
System.out.print("Enter the state tax withholding rate (as a decimal, please!): ");
|
|
|
|
|
stateTaxWithholdingRate = input.nextDouble();
|
|
|
|
|
System.out.println(""); //empty space
|
|
|
|
|
|
|
|
|
|
// Setup Decimal fomatting
|
|
|
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
|
|
|
|
|
|
|
// Calculate
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
grossPay = (hoursWorked * hourlyPayRate);
|
|
|
|
|
federalWithholding = (grossPay * federalTaxWithholdingRate);
|
|
|
|
|
stateWithholding = (grossPay * stateTaxWithholdingRate);
|
|
|
|
|
totalDeduction = (grossPay - (federalWithholding + stateWithholding));
|
|
|
|
|
|
|
|
|
|
// Print output
|
|
|
|
|
System.out.println("Employee Name: "+employeeName);
|
|
|
|
|
System.out.println("Hours Worked: "+hoursWorked);
|
|
|
|
|
System.out.println("Pay Rate:"+ hourlyPayRate);
|
|
|
|
|
|
|
|
|
|
System.out.println("Pay Rate: $"+ df.format(hourlyPayRate));
|
|
|
|
|
System.out.println("Gross Pay: $"+df.format(grossPay));
|
|
|
|
|
System.out.println("Deductions:");
|
|
|
|
|
System.out.println("\t"+"Federal Withholding ("+ (federalTaxWithholdingRate * 100.0)+"%):$"+df.format(federalWithholding));
|
|
|
|
|
System.out.println("\t"+"State Withholding ("+ (stateTaxWithholdingRate * 100.0)+"%):$"+df.format(stateWithholding));
|
|
|
|
|
System.out.println("Total Deduction: $"+df.format(totalDeduction));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|