Maria
Posts: 2
Nickname: laurare
Registered: Dec, 2003
URGENT Help With Scientific Calculator!
Posted: Dec 13, 2003 12:30 PM
Advertisement
Hi everybody, I designed a calculator, and I need help with the rest of the actions. I know I need to use the different Math methods, but I tried that and it didn't work. Also, it needs to work as an applet and application, and in the applet, the buttons don't appear in order, how can I fix that? I will really appreciate your help with this program, I can't get it to work and I'm frustrated, I need to finish this for next Tuesday 16th. Please e-mail me at laurare@rocketmail.com. Below is the code for the calcualtor. Thanks a lot! -Maria // calculator import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class calculator extends JApplet implements ActionListener { private JButton one, two, three, four, five, six, seven, eight, nine, zero, dec, eq, plus, minus, mult, div, clear, mem, mrc, sin, cos, tan, asin, acos, atan, x2, sqrt, exp, pi, percent; private JLabel output, blank; private Container container; private String operation; private double number1, number2, result; private boolean clear = false; //GUI public void init() { container = getContentPane(); //Title //super("Calculator"); JPanel container = new JPanel(); container.setLayout( new FlowLayout( FlowLayout.CENTER ) ); output = new JLabel(""); output.setBorder(new MatteBorder(2,2,2,2,Color.gray)); output.setPreferredSize(new Dimension(1,26)); getContentPane().setBackground(Color.white); getContentPane().add( "North",output ); getContentPane().add( "Center",container ); //blank blank = new JLabel( " " ); container.add( blank ); //clear clear = new JButton( "CE" ); clear.addActionListener(this); container.add( clear ); //seven seven = new JButton( "7" ); seven.addActionListener(this); container.add( seven ); //eight eight = new JButton( "8" ); eight.addActionListener(this); container.add( eight ); //nine nine = new JButton( "9" ); nine.addActionListener(this); container.add( nine ); //div div = new JButton( "/" ); div.addActionListener(this); container.add( div ); //four four = new JButton( "4" ); four.addActionListener(this); container.add( four ); //five five = new JButton( "5" ); five.addActionListener(this); container.add( five ); //six six = new JButton( "6" ); six.addActionListener(this); container.add( six ); //mult mult = new JButton( "*" ); mult.addActionListener(this); container.add( mult ); //one one = new JButton( "1" ); one.addActionListener(this); container.add( one ); //two two = new JButton( "2" ); two.addActionListener(this); container.add( two ); //three three = new JButton( "3" ); three.addActionListener(this); container.add( three ); //minus minus = new JButton( "-" ); minus.addActionListener(this); container.add( minus ); //zero zero = new JButton( "0" ); zero.addActionListener(this); container.add( zero ); //dec dec = new JButton( "." ); dec.addActionListener(this); container.add( dec ); //plus plus = new JButton( "+" ); plus.addActionListener(this); container.add( plus ); //mem mem = new JButton( "MEM" ); mem.addActionListener(this); container.add( mem ); //mrc mrc = new JButton( "MRC" ); mrc.addActionListener(this); container.add( mrc ); //sin sin = new JButton( "SIN" ); sin.addActionListener(this); container.add( sin ); //cos cos = new JButton( "COS" ); cos.addActionListener(this); container.add( cos ); //tan tan = new JButton( "TAN" ); tan.addActionListener(this); container.add( tan ); //asin asin = new JButton( "ASIN" ); asin.addActionListener(this); container.add( asin ); //acos acos = new JButton( "ACOS" ); cos.addActionListener(this); container.add( cos ); //atan atan = new JButton( "ATAN" ); atan.addActionListener(this); container.add( atan ); //x2 x2 = new JButton( "X2" ); x2.addActionListener(this); container.add( x2 ); //sqrt sqrt = new JButton( "SQRT" ); sqrt.addActionListener(this); container.add( sqrt ); //exp exp = new JButton( "EXP" ); exp.addActionListener(this); container.add( exp ); //pi pi = new JButton( "PI" ); pi.addActionListener(this); container.add( pi ); //percent percent = new JButton( "%" ); percent.addActionListener(this); container.add( percent ); //eq eq = new JButton( "=" ); eq.addActionListener(this); container.add( eq ); //Set size and visible setSize( 190, 285 ); setVisible( true ); } public static void main(String args[]){ //execute applet as application //applet's window JFrame applicationWindow = new JFrame("calculator"); applicationWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //applet instance calculator appletObject = new calculator(); //init and start methods appletObject.init(); appletObject.start(); } // end main public void actionPerformed(ActionEvent ae) { JButton but = ( JButton )ae.getSource(); //dec action if( but.getText() == "." ) { //if dec is pressed, first check to make shure there is not already a decimal String temp = output.getText(); if( temp.indexOf( '.' ) == -1 ) output.setText( output.getText() + but.getText() ); } //clear action else if( but.getText() == "CE" ) { output.setText( "" ); operation = ""; number1 = 0.0; number2 = 0.0; } //plus action else if( but.getText() == "+" ) { operation = "+"; number1 = Double.parseDouble( output.getText() ); clear = true; //output.setText( "" ); } //minus action else if( but.getText() == "-" ) { operation = "-"; number1 = Double.parseDouble( output.getText() ); clear = true; //output.setText( "" ); } //mult action else if( but.getText() == "*" ) { operation = "*"; number1 = Double.parseDouble( output.getText() ); clear = true; //output.setText( "" ); } //div action else if( but.getText() == "/" ) { operation = "/"; number1 = Double.parseDouble( output.getText() ); clear = true; //output.setText( "" ); } //eq action else if( but.getText() == "=" ) { number2 = Double.parseDouble( output.getText() ); if( operation == "+" ) result = number1 + number2; else if( operation == "-" ) result = number1 - number2; else if( operation == "*" ) result = number1 * number2; else if( operation == "/" ) result = number1 / number2; //output result output.setText( String.valueOf( result ) ); clear = true; operation = ""; } //default action else { if( clear == true ) { output.setText( "" ); clear = false; } output.setText( output.getText() + but.getText() ); } } }