Quote:
Originally Posted by theFez
this has nothing to do with if/else statements. it has to do with not knowing the syntax of the language.
If you look at your very first 'if' statement where you were calculating overtime hours, you got that wrong too.
|
I noticed that after I got the second if/else statement working. Now it works perfect. Thanks All, here is my final code, its a little blogged up with comments but thats how my professor likes it.
Code:
package lab3;
/**
* <p>Title: Lab 3 Assignment</p>
*
* <p>Description: Hourly Wage Calculator</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: UW-RF</p>
*
* @author Eric Merker
* @version 1.0
*/
import javax.swing.*; //imported package to use the joption pane method
import java.text.*; // imported package to use the decimalformat method
public class Lab3 { //main class
public static void main(String[] args) { //beginning of the main method
Lab3 lab3 = new Lab3();
final double standardhours = 40; //set as a final because this variable will NEVER change
final double taxrate =.10; //set as a final because this variable will also NEVER change
final double hourlywage = 8.00; // set as a final because all workers will have the same hourly wage
double overtimerate; //double used in the calculation below
overtimerate = hourlywage * 1.5; //used to calculate the overtime pay, I could of done the math in my head
//but I did this if I ever wanted to change the hourly wage, I would not have to rethink this statement.
String employeeName; //string that is used when the user is asked for the employees name, since this is
// does not need to be a double, float, etc due to it being alpanumeric characters
double hoursworked; //used for when hoursworkedst is converted into a double
String hoursworkedst; //needed since java can only get input from a string
double totalsales; //used for when totalsalesst is converted into a double
String totalsalesst; //needed since java can only get input from a string
double overtimehours; //double used to retain the number of overtime hours worked
double overtimepay; //double used to retain the value of overtime pay
double comission; //double used to retain the value of how much comission is made
double paywithcomission; //double used that contails the normal pay + comission pay
double salestax; //double used that retains sales tax value that is calculated at line 84
double taxesowed; //finds out how much taxes are taken out of pay with ot + normal non ot pay and with comission sales
double nonOtpay; //used for calculating how much employeed gets paid for up to 40 hours
double totalpay; //total pay before taxes
double takehomepay; //used for calculating how much pay is taken home.
//decimal format class to make the all money values to output to the hundreth place
DecimalFormat df = new DecimalFormat("0.00");
employeeName=JOptionPane.showInputDialog (null, "What is the Employee's Name?" ); //gets the Employee's name via input of a Joption
//pane window
hoursworkedst=JOptionPane.showInputDialog (null, "How many hours has the employee worked?" ); //gets the number of hours worked via
//Joptionpane window
totalsalesst=JOptionPane.showInputDialog(null, "What is the total sales?"); //gets the number of total sales via Joptionpane window
hoursworked=Double.parseDouble(hoursworkedst);//converts hoursworkedst into a double called hoursworked
totalsales=Double.parseDouble(totalsalesst); //converts totalsales st into a double called totalsales
//if statements to figure out OT pay
if (hoursworked > standardhours) { //if hours worked is greater than 40 do the following.
overtimehours = hoursworked - standardhours; //figures out how much overtime hours were worked
overtimepay = overtimerate * overtimehours; //calculates overtime pay using overtime hours and the hourly
nonOtpay = standardhours * hourlywage; //figures out the standard non overtime pay
totalpay = nonOtpay + overtimepay; }//adds Overtimepay with the non Overtime Pay to calculate a total pay without
else //used to calculate pay if hours are >=40 (non overtime pay)
{nonOtpay = hoursworked * hourlywage; //calculates the non Overtime pay
overtimepay = overtimerate *0; //sets overtime pay to zero since later on we will have to use overtimepay
totalpay = nonOtpay; } //used to initialize totalpay
//if statement to figure out how much comission is owed to employee from sales
if (totalsales < 100 && totalsales > 1.00)
{
comission = totalsales * .05;
} else
{
if(totalsales >= 100 && totalsales < 300)
{
comission =totalsales * .10;
} else
{
comission = totalsales * .15;
}
}
//math to figure out taxes owed and the total with comission and the with taxes deducted
paywithcomission = totalpay + comission; //adds the comission pay plus the standard OT/nonOTpay
taxesowed = paywithcomission * taxrate; // takes the total pay and multiplys it by the taxrate to
//figure out how much taxes need to be deducted
takehomepay = paywithcomission - taxesowed; // subtracts the taxes owed from the totalpay to figure out
// the take home pay
//prints out the following to the operator
System.out.println("**************************************************************");
System.out.println(" Welcome to MyJava Burgers ");
System.out.println("**************************************************************");
System.out.println("");
System.out.println("Employee Name:" +employeeName); //prints out the employee name (string)
System.out.println("Number of Hours worked:" +hoursworkedst); //prints out the hours worked
System.out.println("Sales Volume:" +totalsales); //prints out the total sales
System.out.println("**************************************************************");
System.out.println("");
System.out.println("Total of Regular Pay: "+df.format(nonOtpay)); //used df.format to make sure it goes to the hundreth of a dollar
System.out.println("Overtime Pay: "+df.format(overtimepay)); //ditto
System.out.println("Commission: "+df.format(comission)); //ditto
System.out.println("Taxes: "+df.format(taxesowed)); //ditto
System.out.println("Take Home Pay: "+df.format(takehomepay)); //ditto
System.out.println("");
System.out.println("**************************************************************");
}//end of main method
}//end of Lab3 class
/* things learned in this assignment
how to properly use {}'s for the if/else statements (special thanks to AngelicVampire @ www.tfproject.org)
{ always follows before the second if
; is not needed after the if statement.
*/