Hello everyone. I am having a heck of time with this program that I am trying to complete for my Java 2 programming class. If anyone can help me with this, it will be soooo greatly appreciated. I have been working on this for days now, and am completely frustrated and upset. Below is the expectations of the assignment:

Allow the user to enter the amount of the mortgage and then allow the user to select from a list of mortgage loans: 7 years at 5.35%, 15 years at 5.5%, and 30 years at 5.75%. Use an array of objects for the different loans. Display the mortgage payment amount (which I am showing more information on the output than merely the payment). Allow the user to loop back and enter new data or quit.

I am receiving 4 errors when I compile, which consist of:
E:\Programs2\MortgageCalculatorGUI3.java:158: illegal start of type
if (arg == "Reset")
^
E:\Programs2\MortgageCalculatorGUI3.java:207: <identifier> expected
}
^
E:\Programs2\MortgageCalculatorGUI3.java:210: 'class' or 'interface' expected
}
^
E:\Programs2\MortgageCalculatorGUI3.java:210: 'class' or 'interface' expected
}
^
4 errors

Here is my coding thus far:

/*Java Package Imports*/
import javax.swing.JOptionPane;
import javax.swing.JComponent;
import javax.swing.*;
import javax.swing.JComboBox;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;

public class MortgageCalculatorGUI3 extends Frame implements ActionListener
{
/*Set background color of panel or screen*/
Color lightBlue = new Color(163,187,255);

/*Declaring and initializing variables*/
int term = 0;
double interestRate = 0;
double principle = 0;
double payment = 0;
String ArrayTerm [] = {"7 years", "15 years", "30 years"};
String ArrayInterestRate [] = {"5.35%", "5.5%", "5.75%"};

/*Established control buttons*/
Panel buttonPanel = new Panel();
Button resetButton = new Button("Reset");
Button calculateButton = new Button("Calculate");
Button cancelButton = new Button("Cancel");

/*Established fields*/
Panel inputPanel = new Panel();
Label loanPrinciple = new Label("Loan Principle: $");
TextField textPrinciple = new TextField(12);
Label loanTerm = new Label("Term of Loan (Years): ");
TextField textTerm = new TextField(3);
Label loanInterest = new Label("Annual Interest Rate (Percentage): ");
TextField textInterest = new TextField(6);

public MortgageCalculatorGUI3()
{
/*Setup data entry screen*/
this.setLayout(new BorderLayout());
buttonPanel.setLayout(new FlowLayout());
inputPanel.setLayout(new FlowLayout());

/*Setup data entry screen fields*/
inputPanel.add(loanPrinciple);
inputPanel.add(principle);
inputPanel.setBackground(lightBlue);

/*Buttons to click with mouse*/
buttonPanel.add(resetButton);
buttonPanel.add(calculateButton);
buttonPanel.add(cancelButton);
buttonPanel.setBackground(lightBlue);

/*Setup list*/
comboBox.add(loanTerm);
comboBox.add(term);
comboBox.add(loanInterest);
comboBox.add(interest);

/*Add location of data entry fields to panel*/
add(inputPanel, BorderLayout.CENTER);
/*Add buttons to panel, reset, calculate, and cancel*/
add(buttonPanel, BorderLayout.SOUTH);
/*Add list to panel*/
add(comboBox, BorderLayout.EAST);

/*Activate button listening*/
resetButton.addActionListener(this);
calculateButton.addActionListener(this);
cancelButton.addActionListener(this);

/*Established JComboBox*/
comboBox termList = new JComboBox(termString);
termList.setSelectedIndex(0);
termList.addActionListener(this);


JComboBox interestRateList = new JComboBox(interestRateString);
interestRateList.setSelectedIndex(0);
interestRateList.addActionListener(this);

/*Established exit if user closes panel*/
addWindowListener(
new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);

}

/*Established display*/
public static void main(String[] args)
{
MortgageCalculatorGUI3 frame = new MortgageCalculatorGUI3();
frame.setBounds(200,200,600,300);
frame.setTitle("Mortgage Calculator GUI3");
frame.setVisible(true);
}

/*ComboBox update*/
public void actionPerformed(ActionEvent e)
{
JComboBox cb = (JComboBox)e.getSource();
String arrayTerm = (String)cb.getSelectedItem();
String arrayInterestRate = (String)
updateLabel(loanTerm, loanInterestRate);
}

/*Resets entries*/
void clearFields()
{
principle.setText("");
term.setText("");
interest.setText("");
}

/*Button procedures when clicked*/

String arg = e.getActionCommand();

/*Resets fields on panel*/
if (arg == "Reset")
{
principle.setText("");
term.setText("");
interest.setText("");
arg = "";
}

/*Canels application*/
if (arg == "Cancel")
{
System.exit(0);
arg="";
}

/*Performs calculations on entered data*/
if (arg == "Calculate")
{
DecimalFormat TwoDigits = new DecimalFormat("###,###,###.##");
double numberOfPayments=0;
double principleValue=0;
double interestRate=0;
try
{
principleValue = Double.parseDouble(principle.getText());
try
{
numberOfPayments = Double.parseDouble(term.getText())*12;
}
finally
{
interestRate = Double.parseDouble(interest.getText())/100/12;
}
}
catch (Exception ex)
{
clearFields();
}

/*Payment calculation*/
double payment = (principleValue * interestRate) / (1 - Math.pow(1 + interestRate, - numberOfPayments));

/*Output displaying Principle, years, and interest entered and payment and number of months calculated*/
JOptionPane.showMessageDialog(null," Principal: $"+ TwoDigits.format(principleValue)+
" Interest Rate: " + TwoDigits.format(interestRate*100*12)+"% Term of Loan: "+ numberOfPayments/12 + " year(s) " +
"or "+ numberOfPayments + " monthly payments of $" + TwoDigits.format(payment)+
" totalling $"+TwoDigits.format(payment*numberOfPayments)+". ","Mortgage Calculator GUI3",JOptionPane.INFORMATION_MESSAGE);
arg="";
}
}


}