Java Program error need help

I

immortalk1

I am working on this program for class and I can't figure out why I am
getting class or interface expected on the last two { symbols. Please
help, I am not trying to cheat, just need a point in the write
direction. Thank you

/*

Author: Kevin Rosier
Course: POS 407
Assignment: Week 3 Mortgage Calculator
Written: Oct 16, 2006


Creates a sales tax calculator with a GUI.

*/


// class names
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.text.*;
import java.util.*;
import javax.*;


public class MortgageCalculatorGUIwk3 extends JFrame implements
ActionListener
{

JFrame mortgageFrame;
JPanel mortgagePanel;
JButton mortgageButton;
JButton clearButton;
JButton exitButton;
JLabel mortgageLabel;
JLabel interestrateLabel;
JLabel yearLabel;
JLabel paymentLabel;
JTextField mortgageField;
JTextField interestrateField;
JTextField yearField;
JTextField paymentField;


public MortgageCalculatorGUIwk3() //constructor
{
{
// defining JFrame

mortgageFrame = new JFrame("Calculate Your Mortgage Payment");
mortgageFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mortgageFrame.setSize(500,500);

//public static void main(String args[]){

ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
AstractionButton aButton = (AbstractButton)
actionEvent.getSource();

boolean selected = abutton.getmodel().isSelected();
System.out.println(actionEvent.getActionCommand()
+ " - selected? " + selected);
}
};

//constructs Radio buttons
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Menu");
ButtonGroup buttonGroup = new ButtonGroup();
menu.setMnemonic(KeyEvent.VK_M);

JRaidoButtonMenuItem emptyMenuItem = new
JRadioButtonMenuItem();
empyMenuItem.setActionCommand("Empty");
emptyMenuItem.addActionListener(actionListener);
buttonGroup.add(emptyMenuItem);
menu.add(empyMenuItem);

JRadioButtonMenuItem oneMenuItem = new JRadioButtonMenuItem("7
years at 5.35%");
oneMenuItem.addActionListener(actionListener);
buttonGroup.add(oneMenuItem);
menu.add(oneMenuItem);

JRadioButtonMenuItem twoMenuItem = new JRadioButtonMenuItem("15
years at 5.5%");
twoMenuItem.addActionListener(actionListener);
buttonGroup.add(twoMenuItem);
menu.add(twoMenuItem);

JRadioButtonMenuItem threeMenuItem = new
JRadioButtonMenuItem("30 years 5.75%");
threeMenuItem.addActionListener(actionListener);
buttonGroup.add(threeMenuItem);
menu.add(threeMenuItem);

menuBar.add(menu);
frame.setJMenuBar(menuBar);
frame.setSize(350, 250);
frame.setVisible(true);

// defining JPanel

JPanel mortgagePanel = new JPanel(new GridLayout(7,2,10,30));

// defining contents on the panel

mortgageLabel = new JLabel("Mortgage Amount Desired");
interestrateLabel = new JLabel("Interest Rate Desired");
yearLabel = new JLabel("Years of Mortgage");
paymentLabel = new JLabel("Payment");

mortgageButton = new JButton("Your Monthly Payment Is");
clearButton = new JButton("Reset");
exitButton = new JButton("Exit");

// data for calculations

mortgageField = new JTextField("");
interestrateField = new JTextField("");
yearField = new JTextField("");
paymentField = new JTextField("");
paymentField.setEditable(false);

// Adding components to the GUI
mortgagePanel.add(mortgageLabel);
mortgagePanel.add(mortgageField);
mortgagePanel.add(interestrateLabel);
mortgagePanel.add(interestrateField);
mortgagePanel.add(yearLabel);
mortgagePanel.add(yearField);
mortgagePanel.add(mortgageButton);
mortgagePanel.add(clearButton);
mortgagePanel.add(exitButton);
mortgagePanel.add(paymentLabel);
mortgagePanel.add(paymentField);

mortgageFrame.add(mortgagePanel);
mortgageFrame.setVisible(true);

// action buttons

mortgageButton.addActionListener(this);
clearButton.addActionListener(this);
exitButton.addActionListener(this);



}
} //end constructor

// What action is to be performed

public void actionPerformed(ActionEvent e)

{
Object source = e.getSource();
if(source == mortgageButton) {


String sMortgage = mortgageField.getText();
String sInterestrate = interestrateField.getText();
String sYear = yearField.getText();

double mortgage = Double.parseDouble(sMortgage);
double interestrate = Double.parseDouble(sInterestrate);
double year = Double.parseDouble(sYear);

double numberOfPayments = year * 12;
double monthlyInterest = interestrate / 100 / 12;
double x = Math.pow(1+monthlyInterest, numberOfPayments);

double monthlyPayment = (mortgage * x * monthlyInterest)/(x-1);

DecimalFormat df = new DecimalFormat("$0,000.00");
paymentField.setText(df.format(monthlyPayment));

}
else if(source == clearButton)
{
mortgageField.setText("");
interestrateField.setText("");
yearField.setText("");
}
else if(source == exitButton)
{
System.exit(0);
}

} // end actionPerformed

public static void main(String [] args) {

MortgageCalculatorGUIwk3 thisCalc = new MortgageCalculatorGUIwk3();


}; //end main
};

} //end class
}
 
L

Lionel

I can't read much of the code below because the formatting has come
through awful. I have made one point though, see below:

I am working on this program for class and I can't figure out why I am
getting class or interface expected on the last two { symbols. Please
help, I am not trying to cheat, just need a point in the write
direction. Thank you

/*

Author: Kevin Rosier
Course: POS 407
Assignment: Week 3 Mortgage Calculator
Written: Oct 16, 2006


Creates a sales tax calculator with a GUI.

*/


// class names
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.text.*;
import java.util.*;
import javax.*;


public class MortgageCalculatorGUIwk3 extends JFrame implements
ActionListener
{

JFrame mortgageFrame;
JPanel mortgagePanel;
JButton mortgageButton;
JButton clearButton;
JButton exitButton;
JLabel mortgageLabel;
JLabel interestrateLabel;
JLabel yearLabel;
JLabel paymentLabel;
JTextField mortgageField;
JTextField interestrateField;
JTextField yearField;
JTextField paymentField;


public MortgageCalculatorGUIwk3() //constructor
{
{


What's going on here? Why have you got two opening braces? Make sure all
your braces line up before compiling again. It should be pretty easy to
check in an IDE such as Netbeans.

Lionel.
 
I

immortalk1

I am new to this so I am not sure what you mean, I lined up all the {
and it does not seem to help
 
H

Holmbrew

You have a number of errors. Get an IDE like Eclipse or NetBeans, and
you will have an easier time.

You should look carefully look at the JFrame variable and there
spelling errors for a few of your fields. Also the last curly brace in
you class is an extra. You also do not need the semicolons after the
curly braces in a POJO class like this.

I am working on this program for class and I can't figure out why I am
getting class or interface expected on the last two { symbols. Please
help, I am not trying to cheat, just need a point in the write
direction. Thank you

/*

Author: Kevin Rosier
Course: POS 407
Assignment: Week 3 Mortgage Calculator
Written: Oct 16, 2006

Creates a sales tax calculator with a GUI.

*/

// class names
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import java.text.*;
import java.util.*;
import javax.*;

public class MortgageCalculatorGUIwk3 extends JFrame implements
ActionListener
{

JFrame mortgageFrame;
JPanel mortgagePanel;
JButton mortgageButton;
JButton clearButton;
JButton exitButton;
JLabel mortgageLabel;
JLabel interestrateLabel;
JLabel yearLabel;
JLabel paymentLabel;
JTextField mortgageField;
JTextField interestrateField;
JTextField yearField;
JTextField paymentField;

public MortgageCalculatorGUIwk3() //constructor
{
{
// defining JFrame

mortgageFrame = new JFrame("Calculate Your Mortgage Payment");
mortgageFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mortgageFrame.setSize(500,500);

//public static void main(String args[]){

ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
AstractionButton aButton = (AbstractButton)
actionEvent.getSource();

boolean selected = abutton.getmodel().isSelected();
System.out.println(actionEvent.getActionCommand()
+ " - selected? " + selected);
}
};

//constructs Radio buttons
JMenuBar menuBar = new JMenuBar();
JMenu menu = new JMenu("Menu");
ButtonGroup buttonGroup = new ButtonGroup();
menu.setMnemonic(KeyEvent.VK_M);

JRaidoButtonMenuItem emptyMenuItem = new
JRadioButtonMenuItem();
empyMenuItem.setActionCommand("Empty");
emptyMenuItem.addActionListener(actionListener);
buttonGroup.add(emptyMenuItem);
menu.add(empyMenuItem);

JRadioButtonMenuItem oneMenuItem = new JRadioButtonMenuItem("7
years at 5.35%");
oneMenuItem.addActionListener(actionListener);
buttonGroup.add(oneMenuItem);
menu.add(oneMenuItem);

JRadioButtonMenuItem twoMenuItem = new JRadioButtonMenuItem("15
years at 5.5%");
twoMenuItem.addActionListener(actionListener);
buttonGroup.add(twoMenuItem);
menu.add(twoMenuItem);

JRadioButtonMenuItem threeMenuItem = new
JRadioButtonMenuItem("30 years 5.75%");
threeMenuItem.addActionListener(actionListener);
buttonGroup.add(threeMenuItem);
menu.add(threeMenuItem);

menuBar.add(menu);
frame.setJMenuBar(menuBar);
frame.setSize(350, 250);
frame.setVisible(true);

// defining JPanel

JPanel mortgagePanel = new JPanel(new GridLayout(7,2,10,30));

// defining contents on the panel

mortgageLabel = new JLabel("Mortgage Amount Desired");
interestrateLabel = new JLabel("Interest Rate Desired");
yearLabel = new JLabel("Years of Mortgage");
paymentLabel = new JLabel("Payment");

mortgageButton = new JButton("Your Monthly Payment Is");
clearButton = new JButton("Reset");
exitButton = new JButton("Exit");

// data for calculations

mortgageField = new JTextField("");
interestrateField = new JTextField("");
yearField = new JTextField("");
paymentField = new JTextField("");
paymentField.setEditable(false);

// Adding components to the GUI
mortgagePanel.add(mortgageLabel);
mortgagePanel.add(mortgageField);
mortgagePanel.add(interestrateLabel);
mortgagePanel.add(interestrateField);
mortgagePanel.add(yearLabel);
mortgagePanel.add(yearField);
mortgagePanel.add(mortgageButton);
mortgagePanel.add(clearButton);
mortgagePanel.add(exitButton);
mortgagePanel.add(paymentLabel);
mortgagePanel.add(paymentField);

mortgageFrame.add(mortgagePanel);
mortgageFrame.setVisible(true);

// action buttons

mortgageButton.addActionListener(this);
clearButton.addActionListener(this);
exitButton.addActionListener(this);

}
} //end constructor

// What action is to be performed

public void actionPerformed(ActionEvent e)

{
Object source = e.getSource();
if(source == mortgageButton) {

String sMortgage = mortgageField.getText();
String sInterestrate = interestrateField.getText();
String sYear = yearField.getText();

double mortgage = Double.parseDouble(sMortgage);
double interestrate = Double.parseDouble(sInterestrate);
double year = Double.parseDouble(sYear);

double numberOfPayments = year * 12;
double monthlyInterest = interestrate / 100 / 12;
double x = Math.pow(1+monthlyInterest, numberOfPayments);

double monthlyPayment = (mortgage * x * monthlyInterest)/(x-1);

DecimalFormat df = new DecimalFormat("$0,000.00");
paymentField.setText(df.format(monthlyPayment));

}
else if(source == clearButton)
{
mortgageField.setText("");
interestrateField.setText("");
yearField.setText("");
}
else if(source == exitButton)
{
System.exit(0);
}

} // end actionPerformed public static void main(String [] args) {

MortgageCalculatorGUIwk3 thisCalc = new MortgageCalculatorGUIwk3();

}; //end main
};

} //end class

}
 
L

Lionel

I am new to this so I am not sure what you mean, I lined up all the {
and it does not seem to help


What I mean by line up is that you need to make sure that for every {
there is a corresponding }. If you aren't sure where braces should go
then there is a far bigger problem.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top