Program won't compile: "reached end of file while parsing" error
<p>I don't know whats wrong but it keeps giving me an error message:</p>

<pre><code>morePay.java:73: reached end of file while parsing
}→
 ^
1 error
</code></pre>

<p>And this is the coding:</p>

<pre><code>import java.util.Scanner;
/* Design, build and test a program to input the number of workers followed by their name, hours worked, hourly rate of pay, overtime rate of pay, status (married or single) for each. The main program must use separate methods and appropriate parameters. Suggested methods include:

calculate the gross pay (overtime rate is paid for any number of hours above 40);

calculate the amount of tax paid (25% if married and 30% if single);

display all the details as a payslip on the computer screen. */

class morePay
{
    public static double calculateGrossPay (double grossPay, double hours)
    {
        return (grossPay * hours);
    }
    public static double calculateTaxPaid (double amount, double taxPaid)
    {
        return (amount * taxPaid);
    }
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);

        int numberOfWorkers;
        double hours, grossPay, hourlyRate, overtimeRateOfPay, onePercent, finalPay;
        double taxPaid = 30;
        String name, marriedOrSingle;

        System.out.print("Please input the number of workers ");
        numberOfWorkers = input.nextInt();

        System.out.print("Please input the employee's name ");
        name = input.next();

        System.out.print("Please input the hours that the employee has worked for ");
        hours = input.nextDouble();

        System.out.print("Please input the employee's gross pay ");
        grossPay = input.nextDouble();

        System.out.print("Please input the employee's hourly rate ");
        hourlyRate = input.nextDouble();

        System.out.print("Please input the employee's overtime rate of pay ");
        overtimeRateOfPay = input.nextDouble();

        System.out.print("Please input whether the employee is married or single ");
        marriedOrSingle = input.next();

        grossPay = calculateGrossPay(grossPay, hours);
        overtimeRateOfPay = hourlyRate * overtimeRateOfPay;

        if (marriedOrSingle.equals("married") || marriedOrSingle.equals("Married"))
        {
            onePercent = (taxPaid/100);
            taxPaid = (onePercent * 25);
            finalPay = ((overtimeRateOfPay * hourlyRate) - taxPaid);

        if (marriedOrSingle.equals("single") || marriedOrSingle.equals("Single"))
        {
            onePercent = (taxPaid/100);
            taxPaid = (onePercent * 30);
            finalPay = ((overtimeRateOfPay * hourlyRate) - taxPaid);
        }
        System.out.println("the number of workers = " + numberOfWorkers);
        System.out.println("employee's name = " + name);
        System.out.println("the hours that the employee have worked for = " + hours);
        System.out.println("the employee's gross pay = " + grossPay);
        System.out.println("the employee's hourly rate = " + hourlyRate);
        System.out.println("the employee's over time rate of pay = " + overtimeRateOfPay);
        System.out.println("employee's status (whether the employee is married or single) = " + marriedOrSingle);
    }
}
</code></pre>
