Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Java (http://www.go4expert.com/forums/java/)
-   -   Could someone please tell me why my assignment didn't work. (http://www.go4expert.com/forums/tell-assignment-didnt-t27058/)

carolynhesse 1Nov2011 03:13

Could someone please tell me why my assignment didn't work.
 
Hi all. I'm taking my first course in Java and am terrible at it. I failed the last assignment we did and I was wondering if someone could tell me how to fix it so I don't run into the same problems on the next lab. We were instructed to create a working tip calculator. Thank you so much for your help in advance!


Code:

import java.awt.*;

import javax.swing.*;


public class Lab5 extends JApplet implements ActionListener
{   
   
   
public void actionPerformed(ActionEvent e);
{   
    //determines what will occur when the buttons are pressed
    if(e.getSource()==submit)
        performCalculations();
    else
        ClearGUI();
}   

public void performCalculations()
{
    double billAmountEntered = Double.parseDouble(totalBill.getText().trim());
    int numCustomers = Integer.parseInt(people.getText().trim());
    string country = (string)countries.getSelectedItem();
    string typeOfTip = (string)tip.getSelectedIndex();
    pic = getImage(getCodeBase(),"Images/"+country+".png");
    double percentOfTip;
    double taxPercentUsed;
    double totalCalculation;
    double amountPerPersonCalculation;
    double tipAmount;
    double taxAmount;
   

   
    //calculates the tip according to the user input
    if(country==0)
        ;
        else if(country==1)
            typeOfTip = tip.getSelectedIndex();
            taxPercentUsed = .08;
            billAmount.setText(billAmountEntered);
            taxAmountDisplay.setText(taxAmount);
            totalBill.setText(totalCalculation);
            personAmount.setText(amountPerPersonCalculation);
            if(typeOfTip==0)
                tip=0.0;
                else if(typeOfTip==1)
                    tip=.13;
                    else if(typeOfTip==2)
                        tip=.15;
                        else
                            tip=.20;
            percentOfTip = tip;
            tipAmount = billAmountEntered * percentOfTip;
            taxAmount = billAmountEntered * taxPercentUsed;
            totalCalculation = billAmountEntered + tipAmount + taxAmount;
        else if(country==2)
            typeOfTip = tip.getSelectedIndex();
            taxPercentUsed = .05;
            billAmount.setText(billAmountEntered);
            taxAmountDisplay.setText(taxAmount);
            totalBill.setText(totalCalculation);
            personAmount.setText(amountPerPersonCalculation);
            if(typeOfTip==0)
                tip=0.0;
                else if(typeOfTip==1)
                    tip=.13;
                    else if(typeOfTip==2)
                        tip=.15;
                        else if(typeOfTip==3)
                            tip=.20;
            percentOfTip = tip;
            tipAmount = billAmountEntered * percentOfTip;
            taxAmount = billAmountEntered * taxPercentUsed;
            totalCalculation = billAmountEntered + tipAmount + taxAmount;
        else if(country==3)
            typeOfTip = tip.getSelectedIndex();
            taxPercentUsed = .08;
            billAmount.setText(billAmountEntered);
            taxAmountDisplay.setText(taxAmount);
            totalBill.setText(totalCalculation);
            personAmount.setText(amountPerPersonCalculation);
            if(typeOfTip==0)
                tip=0.0;
                else if(typeOfTip==1)
                    tip=.10;
                    else if(typeOfTip==2)
                        tip=.12;
                        else if(typeOfTip==3)
                            tip=.15;
            percentOfTip = tip;
            tipAmount = billAmountEntered * percentOfTip;
            taxAmount = billAmountEntered * taxPercentUsed;
            totalCalculation = billAmountEntered + tipAmount + taxAmount;

}

public void ClearGui()

    //sets the applet to its original state
    tip.setSelectedIndex(0);
    countries.setSelectedIndex(0);
    includeTax.setSelected(true);
   
    validate();
}

//the layout code
public void init()
{
    setLayout(new BorderLayout());
   
    JLabel title = new JLabel("Multi Country Tip Calculator");
    JComboBox countries = new JComboBox();
    JLabel checkAmount = new JLabel("Check Amount:");
    JTextField billAmount = new JTextField(8);
    JLabel tax = new JLabel("Tax:");
    JTextField taxAmountDisplay = new JTextField(8);
    JCheckBox includeTax = new JCheckBox("Include Tax");
    DefaultListModel myModel = new DefaultListModel();
    JList tip = new JList(myModel);
    JLabel tipPercentUsed = new JLabel("Tip % Used:");
    JTextField tipPercentSelection = new JTextField(8);
    JLabel total = new JLabel("Total:");
    JTextField totalBill = new JTextField(8);
    JLabel numberOfPeople = new JLabel("Number of People:");
    JTextField people = new JTextField(3);
    JLabel amountPerPerson = new JLabel("Amount Per Person:");
    JTextField personAmount = new JTextField(8);
    JButton submit = new JButton("Submit");
    JButton clear = new JButton("Clear");
   
    //adds a JPanel and its components to the north portion of the border layout
    JPanel north = new JPanel(new FlowLayout());
    add(north, BorderLayout.NORTH);
    north.add(title);
   
    //adds a JPanel and its components to the west portion of the border layout
    JPanel west = new JPanel(new FlowLayout());
    add(west, BorderLayout.WEST);
    west.add(countries);
   
    //adds a JPanel and its components to the east portion of the border layout
    JPanel east = new JPanel(new GridLayout(2,1));
    add(east, BorderLayout.EAST);
    east.add(tip);
    east.add(includeTax);
   
    //adds a JPanel and its components to the center portion of the border layout
    JPanel center = new JPanel(new GridLayout(5,2));
    add(center, BorderLayout.CENTER);
    center.add(tipPercentUsed);
    center.add(tipPercentSelection);
    center.add(checkAmount);
    center.add(billAmount);
    center.add(tax);
    center.add(taxAmountDisplay);
    center.add(numberOfPeople);
    center.add(people);
   
    //adds a JPanel and its components to the south portion of the border layout
    JPanel south = new JPanel(new GridLayout(4,4));
    add(south, BorderLayout.SOUTH);
    south.add(total);
    south.add(totalBill);
    south.add(amountPerPerson);
    south.add(personAmount);
    south.add(submit);
    south.add(clear);
   
   
    //sets the title's font, color, size, and location
    title.setForeground(Color.blue);
    title.setFont(new Font("Serif",Font.BOLD,40));
    title.setLocation(200,200);
           
    //adds items to the combo box
    countries.addItem("Please Select A Country");
    countries.addItem("United States");
    countries.addItem("Italy");
    countries.addItem("France");
           
    //adds items to the list
    myModel.addElement("No tip");
    myModel.addElement("Minimum tip");
    myModel.addElement("Normal tip");
    myModel.addElement("High tip");
   
    //changes the background color
    north.setBackground(Color.ORANGE);
    south.setBackground(Color.ORANGE);
    west.setBackground(Color.ORANGE);
    center.setBackground(Color.ORANGE);
    east.setBackground(Color.ORANGE);
   
    //sets all the JLabels' colors
    total.setForeground(Color.blue);
    amountPerPerson.setForeground(Color.blue);
    checkAmount.setForeground(Color.blue);
    tax.setForeground(Color.blue);
    tipPercentUsed.setForeground(Color.blue);
    numberOfPeople.setForeground(Color.blue);
   
    //sets the size of "Total" and "Amount Per Person"
    total.setFont(new Font("Serif",Font.BOLD,20));
    amountPerPerson.setFont(new Font("Serif",Font.BOLD,20));
   
    //sets the color of the JButtons
    submit.setBackground(Color.red);
    submit.setForeground(Color.blue);
    clear.setBackground(Color.red);
    clear.setForeground(Color.blue);
   
    //sets the colors in the JList
    tip.setBackground(Color.white);
    tip.setForeground(Color.blue);
   
    //sets the colors of the JCheckBox
    includeTax.setForeground(Color.blue);
    includeTax.setBackground(Color.white);
   
    //sets the colors of the JComboBox
    countries.setForeground(Color.blue);
    countries.setBackground(Color.white);
   
}


ewaldhorn 10Nov2011 18:36

Re: Could someone please tell me why my assignment didn't work.
 
Hi.

Your code doesn't compile - there are basic syntax errors that show that this code was never tested. Perhaps you should consider developing in smaller increments, so you can test sections of your code as you go along.

A handy tip is to always use brackets {} with if and else statements, in fact, always group related bits of code with these brackets, that way you will never run into situations where you are not sure where a piece of code belongs.

If you can fix the syntax errors, like the ; after actionPerformed(ActionEvent e) - you might get the code to compile. Debugging is an important skill, and the only way of learning it is to work through code and find errors, one at a time.

What IDE / Editor are you using?


All times are GMT +5.5. The time now is 20:13.