I have looked for over 40 minutes trying to find an answer on this site that might pertain to my question to no avail.
I am stumped. I am trying to convert a program to GUI. I am using Textpad which is telling me when I compile that the variable is already defined in main method. Then when converting to int or double, it is telling me that it cannot find symbol and points to the variable that I am trying to convert. Then during my calculations, it is telling me bad operands type for binary operator '*'.
import javax.swing.JOptionPane;
public class PayrollGUI {
// calculates payroll
public static void main (String [] args) {
String name = JOptionPane.showInputDialog ("Employee's Name: ");
int name = Integer.parseInt(nameString);
String hours = JOptionPane.showInputDialog ("Number of hours worked in a week (e.g., 10: ");
int hours = Integer.parseInt(hoursString);
String payRate = JOptionPane.showInputDialog ("Hourly pay rate (e.g., .6.75: ");
double payRate = Double.parseDouble(payRateString);
String federalTaxRate = JOptionPane.showInputDialog ("Federal tax witholding rate (e.g., .20: ");
double federalTaxRate = Double.parseDouble(federalTaxRateString);
String stateTaxRate = JOptionPane.showInputDialog (" State tax witholding rate (e.g., .09: ");
double stateTaxRate = Double.parseDouble(stateTaxRateString);
//calculate witholdings, grosspay and netpay
double federalWitholding = federalTaxRate * (hours * payRate);
double stateWitholding = stateTaxRate * (hours * payRate);
double grossPay = hours * payRate;
double netPay = grossPay - withholdings;
double witholdings = federalWithodling + stateWitholding;
//format to keep two digit decimal
witholdings = (int) (witholdings * 100) /100.0;
netPay = (int) (netPay * 100) / 100.0;
grossPay = (int) (grossPay * 100) / 100.0;
federalWitholding = (int) (federalWitholding * 100) / 100.0;
stateWitholding = (int) (stateWitholding *100) / 100.0;
/*String output = (null);
String output = (null);*/
String output = "Employee Name: " + name +
"/nHours Worked: " + hours +
"/nPay Rate: $" + payRate +
"/nGross Pay: $" + grossPay +
"/nDeductions:" +
"/n Federal Witholding: $" + federalWitholding +
"/n State Witholding : $" + stateWitholding +
"/n Total Deductions : $" + witholdings +
"/n Net Pay: $";
JOptionPane.showMessageDialog(null, output);
}//end main
}//end Payroll
String name = ...;
int name = ...;
Can't do it.
Replace String name
with String nameString
since that is the variable you are trying to parse when you use Integer.parseInt
! (And don't forget all your other variables too!)
e.g.
String hours
with String hoursString
String payRate
with String payRateString
String federalTaxRate
with String federalTaxRateString
String stateTaxRate
with String stateTaxRateString