URGENT Help With Scientific Calculator!

From: Maria Laura Re (laurare_at_rocketmail.com)
Date: 12/13/03

  • Next message: Kevin: "Socks proxy library"
    Date: 13 Dec 2003 11:58:34 -0800
    
    

    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

    [code]
    // 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() );
        }
      }
      
    }
    [/code]


  • Next message: Kevin: "Socks proxy library"
  • Quantcast