i have to create a calculator (i'm a 12 year old) for the science fair. on textwrangler when i try to compile it :Expected end of line, etc. but found identifier.

here is my code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class JavaCalculator extends JFrame {
    private JButton jbtNum1;
    private JButton jbtNum2;
    private JButton jbtNum3;
    private JButton jbtNum4;
    private JButton jbtNum5;
    private JButton jbtNum6;
    private JButton jbtNum7;
    private JButton jbtNum8;
    private JButton jbtNum9;
    private JButton jbtNum0;
    private JButton jbtEqual;
    private JButton jbtAdd;
    private JButton jbtSubtract;
    private JButton jbtMultiply;
    private JButton jbtDivide;
    private JButton jbtSolve;
    private JButton jbtClear;
    private double TEMP;
    private double SolveTEMP;
private JTextField jtfResult;

Boolean addBool = false ;
Boolean subBool = false ;
Boolean divBool = false ;
Boolean mulBool = false ;


String display = "";

public JavaCalculator() {
    JPanel p1 = new JPanel();
    p1.setLayout(new GridLayout(4, 3));
    p1.add(jbtNum1 = new JButton("1"));
    p1.add(jbtNum2 = new JButton("2"));
    p1.add(jbtNum3 = new JButton("3"));
    p1.add(jbtNum4 = new JButton("4"));
    p1.add(jbtNum5 = new JButton("5"));
    p1.add(jbtNum6 = new JButton("6"));
    p1.add(jbtNum7 = new JButton("7"));
    p1.add(jbtNum8 = new JButton("8"));
    p1.add(jbtNum9 = new JButton("9"));
    p1.add(jbtNum0 = new JButton("0"));
    p1.add(jbtClear = new JButton("C"));


    JPanel p2 = new JPanel();
    p2.setLayout(new FlowLayout());
    p2.add(jtfResult = new JTextField(20));
    jtfResult.setHorizontalAlignment(JTextField.RIGHT);
    jtfResult.setEditable(false);

            JPanel p3 = new JPanel();
            p3.setLayout(new GridLayout(5, 1));
            p3.add(jbtAdd = new JButton("+"));
            p3.add(jbtSubtract = new JButton("-"));
            p3.add(jbtMultiply = new JButton("*"));
            p3.add(jbtDivide = new JButton("/"));
            p3.add(jbtSolve = new JButton("="));

    JPanel p = new JPanel();
    p.setLayout(new GridLayout());
    p.add(p2, BorderLayout.NORTH);
    p.add(p1, BorderLayout.SOUTH);
    p.add(p3, BorderLayout.EAST);


    add(p);

    jbtNum1.addActionListener(new ListenToOne());
    jbtNum2.addActionListener(new ListenToTwo());
    jbtNum3.addActionListener(new ListenToThree());
    jbtNum4.addActionListener(new ListenToFour());
    jbtNum5.addActionListener(new ListenToFive());
    jbtNum6.addActionListener(new ListenToSix());
    jbtNum7.addActionListener(new ListenToSeven());
    jbtNum8.addActionListener(new ListenToEight());
    jbtNum9.addActionListener(new ListenToNine());
    jbtNum0.addActionListener(new ListenToZero());

    jbtAdd.addActionListener(new ListenToAdd());
    jbtSubtract.addActionListener(new ListenToSubtract());
    jbtMultiply.addActionListener(new ListenToMultiply());
    jbtDivide.addActionListener(new ListenToDivide());
    jbtSolve.addActionListener(new ListenToSolve());
    jbtClear.addActionListener(new ListenToClear());



} //JavaCaluclator()

class ListenToClear implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        //display = jtfResult.getText();
        jtfResult.setText("");
        addBool = false ;
        subBool = false ;
        mulBool = false ;
        divBool = false ;

        TEMP = 0;
        SolveTEMP =0 ;
    }
}

class ListenToOne implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "1");
    }
}
class ListenToTwo implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "2");
    }
}
class ListenToThree implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "3");
    }
}
class ListenToFour implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "4");
    }
}
class ListenToFive implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "5");
    }
}
class ListenToSix implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "6");
    }
}
class ListenToSeven implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "7");
    }
}
class ListenToEight implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "8");
    }
}
class ListenToNine implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "9");
    }
}
class ListenToZero implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        display = jtfResult.getText();
        jtfResult.setText(display + "0");
    }
}

    class ListenToAdd implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        TEMP = Double.parseDouble(jtfResult.getText());
                    jtfResult.setText("");
                    addBool = true ;

    }
}
class ListenToSubtract implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        TEMP = Double.parseDouble(jtfResult.getText());
        jtfResult.setText("");
        subBool =true;
    }
}
class ListenToMultiply implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        TEMP = Double.parseDouble(jtfResult.getText());
        jtfResult.setText("");
        mulBool =true;

    }
}
class ListenToDivide implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        TEMP = Double.parseDouble(jtfResult.getText());
        jtfResult.setText("");
        divBool =true;
    }
}
class ListenToSolve implements ActionListener {
    public void actionPerformed(ActionEvent e) {
                    SolveTEMP = Double.parseDouble(  jtfResult.getText() );
                    if ( addBool == true  )
                        SolveTEMP = SolveTEMP + TEMP;

                    else if ( subBool == true  )
                        SolveTEMP = SolveTEMP - TEMP;
                    else if ( mulBool == true  )
                        SolveTEMP = SolveTEMP * TEMP;
                    else if ( divBool == true  )
                        SolveTEMP = SolveTEMP / TEMP;
        jtfResult.setText(  Double.toString( SolveTEMP ) );

        addBool = false ;
        subBool = false ;
        mulBool = false ;
        divBool = false ;


    }
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    JavaCalculator calc = new JavaCalculator();
    calc.pack();
    calc.setLocationRelativeTo(null);
            calc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    calc.setVisible(true);
}

} //JavaCalculator

please help!

thanks!

Recommended Answers

All 2 Replies

:Expected end of line, etc. but found identifier.

Please post the full text of the error message that shows the source line where the error happened.

code is perfect with some logical errors
i have done some modifications to your code here is your modified code

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JavaCalculator extends JFrame {
    private JButton jbtNum1,jbtNum2,jbtNum3,jbtNum4,jbtNum5;
    private JButton jbtNum6,jbtNum7,jbtNum8,jbtNum9,jbtNum0;
    private JButton jbtEqual,jbtAdd,jbtSubtract,jbtMultiply,jbtDivide,jbtSolve,jbtClear;
    private double TEMP,SolveTEMP;
    private JTextField jtfResult;
    Boolean addBool = false ;
    Boolean subBool = false ;
    Boolean divBool = false ;
    Boolean mulBool = false ;
    String display = "";
    public JavaCalculator() {
        JPanel p1 = new JPanel();
        p1.setLayout(new GridLayout(4, 3));
        p1.add(jbtNum1 = new JButton("1"));
        p1.add(jbtNum2 = new JButton("2"));
        p1.add(jbtNum3 = new JButton("3"));
        p1.add(jbtNum4 = new JButton("4"));
        p1.add(jbtNum5 = new JButton("5"));
        p1.add(jbtNum6 = new JButton("6"));
        p1.add(jbtNum7 = new JButton("7"));
        p1.add(jbtNum8 = new JButton("8"));
        p1.add(jbtNum9 = new JButton("9"));
        p1.add(jbtNum0 = new JButton("0"));
        p1.add(jbtClear = new JButton("C"));

        JPanel p2 = new JPanel();
        p2.setLayout(new FlowLayout());
        p2.add(jtfResult = new JTextField(20));
        jtfResult.setHorizontalAlignment(JTextField.RIGHT);
        jtfResult.setEditable(false);

        JPanel p3 = new JPanel();
        p3.setLayout(new GridLayout(5, 1));
        p3.add(jbtAdd = new JButton("+"));
        p3.add(jbtSubtract = new JButton("-"));
        p3.add(jbtMultiply = new JButton("*"));
        p3.add(jbtDivide = new JButton("/"));
        p3.add(jbtSolve = new JButton("="));

        JPanel p = new JPanel();
        p.setLayout(new GridLayout());
        p.add(p2, BorderLayout.NORTH);
        p.add(p1, BorderLayout.SOUTH);
        p.add(p3, BorderLayout.EAST);
        add(p);

        jbtNum1.addActionListener(new ListenToOne());
        jbtNum2.addActionListener(new ListenToTwo());
        jbtNum3.addActionListener(new ListenToThree());
        jbtNum4.addActionListener(new ListenToFour());
        jbtNum5.addActionListener(new ListenToFive());
        jbtNum6.addActionListener(new ListenToSix());
        jbtNum7.addActionListener(new ListenToSeven());
        jbtNum8.addActionListener(new ListenToEight());
        jbtNum9.addActionListener(new ListenToNine());
        jbtNum0.addActionListener(new ListenToZero());
        jbtAdd.addActionListener(new ListenToAdd());
        jbtSubtract.addActionListener(new ListenToSubtract());
        jbtMultiply.addActionListener(new ListenToMultiply());
        jbtDivide.addActionListener(new ListenToDivide());
        jbtSolve.addActionListener(new ListenToSolve());
        jbtClear.addActionListener(new ListenToClear());
    } //JavaCaluclator()

    class ListenToClear implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                //display = jtfResult.getText();
                jtfResult.setText("");
                addBool = false ;
                subBool = false ;
                mulBool = false ;
                divBool = false ;
                TEMP = 0;
                SolveTEMP =0 ;
            }
    }
    class ListenToOne implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){      // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "1");
            }else{                
                jtfResult.setText("1");
            }

        }
    }
    class ListenToTwo implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){       // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "2");
            }else{
                jtfResult.setText("2");
            }
        }
    }
    class ListenToThree implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){       // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "3");
            }else{
                jtfResult.setText("3");
            }
        }
    }

    class ListenToFour implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){     // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "4");
            }else{
                jtfResult.setText("4");
            }
        }
    }

    class ListenToFive implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){       // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "5");
            }else{
                jtfResult.setText("5");
            }
        }
    }
    class ListenToSix implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){      // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "6");
            }else{
                jtfResult.setText("6");
            }            
        }
    }
    class ListenToSeven implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){       // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "7");
            }else{
                jtfResult.setText("7");
            }
        }
    }

    class ListenToEight implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){   // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "8");
            }else{
                jtfResult.setText("8");
            }
        }
    }
    class ListenToNine implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){  // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "9");
            }else{
                jtfResult.setText("9");
            }
        }
    }
    class ListenToZero implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(SolveTEMP==0){   // changed here
                display = jtfResult.getText();
                jtfResult.setText(display + "0");
            }else{
                jtfResult.setText("0");
            }            
        }
    }

    class ListenToAdd implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            try {
                if(!jtfResult.getText().equalsIgnoreCase("")){        // changed here
                    TEMP = Double.parseDouble(jtfResult.getText());
                    jtfResult.setText("");
                    addBool = true ;
                }else{

                }
            }catch(Exception e2){}
        }
    }
    class ListenToSubtract implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            try {
                if(!jtfResult.getText().equalsIgnoreCase("")){          // changed here
                    TEMP = Double.parseDouble(jtfResult.getText());
                    jtfResult.setText("");
                    subBool =true;
                }else{
                }
            }catch(Exception e2){}            
        }
    }
    class ListenToMultiply implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            try {
                if(!jtfResult.getText().equalsIgnoreCase("")){        // changed here
                    TEMP = Double.parseDouble(jtfResult.getText());
                    jtfResult.setText("");
                    mulBool =true;
                }else{}
            }catch(Exception e2){}
        }
    }

    class ListenToDivide implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            try {
                if(!jtfResult.getText().equalsIgnoreCase("")){
                    TEMP = Double.parseDouble(jtfResult.getText());
                    jtfResult.setText("");
                    divBool =true;
                }else{}
            }catch(Exception e2){}

        }
    }
    class ListenToSolve implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if(jtfResult.getText().equalsIgnoreCase("")){

            }else{
                SolveTEMP = Double.parseDouble(jtfResult.getText());
                // chaged here for wrong caliculation values

                if ( addBool == true  )
                    SolveTEMP = TEMP+SolveTEMP;
                else if ( subBool == true  )
                    SolveTEMP = TEMP - SolveTEMP;    // change here  it giving worng subtraction values before
                else if ( mulBool == true  )
                    SolveTEMP = SolveTEMP * TEMP;
                else if ( divBool == true  )
                    SolveTEMP = TEMP/SolveTEMP;
                jtfResult.setText(Double.toString(SolveTEMP));
                addBool = false ;
                subBool = false ;
                mulBool = false ;
                divBool = false ;
                TEMP = 0;            // changed here
                //SolveTEMP = 0;       // changed here
            }
        }
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JavaCalculator calc = new JavaCalculator();
        calc.pack();
        calc.setLocationRelativeTo(null);
        calc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        calc.setVisible(true);
    }
}

nice attempt boy

happy coding

yours
radha krishna

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.