Java: Trouble calling another class
<p>I am just beginning in Java and I am having a peculiar problem that I just cant seem to get to the root of. I have 2 programs and one is taking data from a text file and then calling it into a class to do some calculations and finally putting the output into another text document.</p>

<p>Everything works except this part here:</p>

<pre><code>public class Paycheck
{
//Constants for the private class
private final String EMPLOYEE_NAME;           //Employee name          
private final String SOC_SEC_NUM;             //Employee Social Security Number
private final double WAGE_RATE;               //Employee wage
private final double TAX_RATE;                //Employee tax withheld 
private final double HOURS_WORKED;            //Employee's hours of work

//Variables for the private class
private double grossPay;                      //Employee Gross Pay
private double taxWithheld;                   //Employee Tax Withheld
private double netPay;                        //Employee Net Pay





//This is the constructor. It is called whenever an instance of the class is created
public Paycheck (String name, String ssn, double wage, double tax, double hours)
{
    EMPLOYEE_NAME = name;  //Instance employee name
    SOC_SEC_NUM = ssn;    //Instance employee SSN
    WAGE_RATE = wage;      //Instance employee wage rate
    TAX_RATE = tax;        //Instance employee tax rate
    HOURS_WORKED = hours;  //Instance employee hours worked
}

//This calculates the variables in the paycheck class
public void calcWages()
{
    grossPay = WAGE_RATE * HOURS_WORKED;    //Calculates Gross Pay
    taxWithheld = grossPay * TAX_RATE;      //Calculates Taxes Withheld
    netPay = grossPay - taxWithheld;        //Calculates net pay

}




//Returns the Paycheck objects Employee Name
public String getEmployeeName()
{
    return EMPLOYEE_NAME;
}

//Returns the employee SSN of the Paycheck object
public String getSocSecNum()
{
    return SOC_SEC_NUM;
}

//Reeturns a Paycheck object's employee Wage Rate
public double getWageRate()
{
    return WAGE_RATE;
}

//Returns a Paycheck object's employee tax rate
public double getTaxRate()
{
    return TAX_RATE;
}

//Returns an Paycheck object's employee hours worked
public double getHoursWorked()
{
    return HOURS_WORKED;
}

//Returns a Paycheck object's gross pay
public double getGrossPay()
{
    return grossPay;
}

//Returns a Paycheck object's Taxes Withheld
public double getTaxWithheld()
{
    return taxWithheld;
}

//Returns a paycheck object't net pay 
public double getNetPay()
{
    return netPay;
}
</code></pre>

<p>The calcWages() does the necessary calculations and below this are a series of get statements to call them. However, my output does not return any values for the calcWages() arguments.</p>

<p>I added the getters here and my other program is grabbing them. However the final output on my other program is coming up as 0.</p>

<p>Where am I going wrong here?</p>

<p>This is the part of the main method that is calling them</p>

<pre><code>  public static void main(String [] args) throws IOException //Throws clause
{
    //Declare constants
    final String INPUT_FILE = "Employee.txt";         //Input text file containing Employee information
    final String OUTPUT_FILE= "PayrollHistory.txt";   //Output text file that will receive the data

    //Declare Variables
    String payPeriodDate;       //Ending date of the pay period
    String employeeName;        //Employee Name in text file
    String employeeSocSecNum;   //Employee SSN in text file
    double employeeHours;       //Employee hours worked
    double employeeTax;         //Employee Tax rate 
    double employeeWage;        //Employee Wage rate
    double totalGrossPay;       //Total employee Gross for pay period
    double totalTaxWithheld;    //Total Tax Withheld for pay period
    double totalNetPay;         //Total Net Payroll for pay period
    String input;               //String input for double conversion in JoptionPane

    DecimalFormat money = new DecimalFormat ("#0.00"); // Decimal Format to put money in the right format(USD)

    //This ensures that the input file actually exists in the program folder 
    //And exits the program if it does not, along with the prompt.
    File file = new File(INPUT_FILE);
  if (!file.exists())
  {
     JOptionPane.showMessageDialog(null, "The " + INPUT_FILE + " file cannot be found." +
                        "Program terminated.");
     System.exit(0);
  }


    // Create Scanner object to enable reading data from input file
  Scanner inputFile = new Scanner(file);

  // Create FileWriter and PrintWriter objects to enable
  // writing (appending not overwriting) data to text file
  FileWriter fwriter = new FileWriter(OUTPUT_FILE, true);
  PrintWriter outputFile = new PrintWriter(fwriter);

    //Initialize accumulator values
  totalGrossPay = 0.0;
    totalTaxWithheld = 0.0;
    totalNetPay = 0.0;

    //Get the pay period for the employee
    payPeriodDate = JOptionPane.showInputDialog("Enter pay period ending date (mm/dd/yyyy):");
    outputFile.println("PAY PERIOD ENDING DATE: " + payPeriodDate);          //Inputs pay period date into the text file
    outputFile.println(); // Blank line
    outputFile.println(); // Blank line


    while (inputFile.hasNext()) // This will look through the input file and get the necessary variable input
  {
     // Read employee Name from Input File
     employeeName = inputFile.nextLine();
     // Read employee SSN from input file
     employeeSocSecNum = inputFile.nextLine();
     // Read employee Wage Rate from input file
        //Parses it into a double type
     input = inputFile.nextLine();
     employeeWage = Double.parseDouble(input);
        //Read employee tax rate from input file
        //Parses it into a double type
        input = inputFile.nextLine();
        employeeTax = Double.parseDouble(input);


        //Get number of hours worked
        input = JOptionPane.showInputDialog("Employee Name: " + employeeName +
                                                        "\nEnter number of hours worked:");
        employeeHours = Double.parseDouble(input);

        //This call the paycheck class to create a new Paycheck Object
        Paycheck employee = new Paycheck (employeeName, employeeSocSecNum, employeeWage, employeeTax, employeeHours);

        // Call Paycheck class methods into the output file
     outputFile.println("Employee Name: " + employeeName);                              //Employee Name
     outputFile.println("SSN: " + employeeSocSecNum);                                   //Employee SSN
     outputFile.println("Hours Worked: " + employeeHours);                              //Employee Hours Worked
     outputFile.println("Wage Rate: " +  money.format(employeeWage));                   //Employee Wage Rate
        outputFile.println("Gross Pay: " +  money.format(employee.getGrossPay()));         //Employee Gross Pay
        outputFile.println("Tax Rate: " +  money.format(employeeTax));                     //Employee Tax Rate
        outputFile.println("Tax Withheld: " +  money.format(employee.getTaxWithheld()));   //Employee Tax Withheld
        outputFile.println("Net Pay: " + employee.getNetPay());                            //Employee Net Pay
     outputFile.println(); // Blank line
</code></pre>
