package cn.java; import java.awt.BorderLayout; 
import java.awt.Button; 
import java.awt.GridLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 
public class Calculator { /** 
 * @param args 
 */ 
JFrame frame =new JFrame(); 
JPanel panel1 = new JPanel(); 
JPanel panel2 = new JPanel(); 
JPanel panel3 = new JPanel(); 
JTextField field = new JTextField(15); 
JButton button = new JButton("MC"); 
boolean clickable ; 
short prekey=-1; 
int answer = 0; 
private String name[] = {"7","8","9","+","4","5","6","-","1","2","3","*","=","0",".","/"}; 
private Button buttons[] = new Button[name.length]; public void init(){ 
clickable = true; 
frame.setTitle("啂啂计算器"); 
             frame.setSize(250,210); 
             frame.setLocation(100,100); 
panel1.setLayout(new GridLayout(4,4,4,4));              for(int i = 0;i <name.length;i++){ 
       buttons[i] = new Button(name[i]); 
       panel1.add(buttons[i]); 
       buttons[i].addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e) { 
Object obj = e.getSource(); if(obj == buttons[0] ¦ ¦obj == buttons[1] ¦ ¦obj == buttons[2] ¦ ¦obj == buttons[4] ¦ ¦obj == buttons[5] ¦ ¦obj == buttons[6] ¦ ¦obj == buttons[8] ¦ ¦obj == buttons[9] ¦ ¦obj == buttons[10] ¦ ¦obj == buttons[13] && clickable == true){ 
                         Button b =  (Button)obj; 
                         String press = b.getActionCommand(); 
 field.setText(field.getText()+Integer.parseInt(press)); 
} } 
怎样在此处实现加减乘除... ???????
怎样在此处实现加减乘除... ???????     }); 
     } 
     button.addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent e) { 
    field.setText(""); 

     }); 
     
     panel2.add(field); 
     panel3.add(button); 
     frame.add(panel1, BorderLayout.SOUTH); 
     frame.add(panel3,BorderLayout.CENTER); 
     frame.add(panel2, BorderLayout.NORTH); 
         
field.setHorizontalAlignment(JTextField.RIGHT ); 
     frame.setResizable(false); 
     frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE); 
     frame.setVisible(true); 
   } 
public static void main(String[] args) { 
        new Calculator().init(); 

     

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.io.*;
    public class calculator extends JFrame implements ActionListener
    {
        private JTextField text_result;
        private JButton button_1,button_2,button_3,button_4,button_5,button_6,button_7
        ,button_8,button_9,button_0,button_sqrt,button_asb,button_CE,button_C,button_divide,
        button_multiply,button_difference,button_equal,button_star,button_plus;
        private char c='#',;
        private int top=1,basic=1;
        private float number[]=new float[3],temp;
        private String string="",table;
        public calculator() 
        {
            super("Calculator");
            this.setSize(300,200);
        //    this.setLocale(200,300);
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            text_result=new JTextField();
            text_result.setBackground(Color.white);
            text_result.setSize(1,1);
            text_result.setEditable(false);
            text_result.setHorizontalAlignment(JTextField.RIGHT);
            //text_result.;
            //text_result.setCaretPosition(JTextField.RIGHT);
            this.getContentPane().add(text_result,BorderLayout.CENTER);
            text_result.show();
            JPanel panel=new JPanel(new GridLayout(5,4,5,6));
            this.getContentPane().add(panel,BorderLayout.SOUTH);
            button_1=new JButton("1");
            button_1.addActionListener(this);
            //button_1.setBackground(Color.red);
            button_2=new JButton("2");
            button_2.addActionListener(this);
            button_3=new JButton("3");
            button_3.addActionListener(this);
            button_4=new JButton("4");
            button_4.addActionListener(this);    
            button_5=new JButton("5");
            button_5.addActionListener(this);
            button_6=new JButton("6");
            button_6.addActionListener(this);
            button_7=new JButton("7");
            button_7.addActionListener(this);
            button_8=new JButton("8");
            button_8.addActionListener(this);
            button_9=new JButton("9");
            button_9.addActionListener(this);
            button_0=new JButton("0");
            button_0.addActionListener(this);
            button_sqrt=new JButton("sqrt");
            button_sqrt.addActionListener(this);
            button_asb=new JButton("&-/+");
            button_asb.addActionListener(this);
            button_CE=new JButton("CE");
            button_CE.addActionListener(this);
            button_C=new JButton("C");
            button_C.addActionListener(this);
            button_divide=new JButton("/");
            button_divide.addActionListener(this);
            button_multiply=new JButton("*");
            button_multiply.addActionListener(this);
            button_difference=new JButton("-");
            button_difference.addActionListener(this);
            button_plus=new JButton("+");
            button_plus.addActionListener(this);
            button_equal=new JButton("=");
            button_equal.addActionListener(this);
            button_star=new JButton(".");
            button_star.addActionListener(this);
            
            panel.add(button_sqrt);
            panel.add(button_asb);
            panel.add(button_CE);
            panel.add(button_C);
            panel.add(button_7);
            panel.add(button_8);
            panel.add(button_9);
            panel.add(button_divide);
            panel.add(button_4);
            panel.add(button_5);
            panel.add(button_6);
            panel.add(button_multiply);
            panel.add(button_1);
            panel.add(button_2);
            panel.add(button_3);
            panel.add(button_difference);
            panel.add(button_0);
            panel.add(button_star);
            panel.add(button_equal);
            panel.add(button_plus);
            this.setLocation(400,300);
            
            this.setVisible(true);
            //this.getContentPane().isEnabled(false);
            this.setResizable(false);
            }
            public void actionPerformed(ActionEvent e)
            {
                try {
                    table=e.getActionCommand();
                //text_result.setText(table);
                =table.charAt(0);
                //String string1=text_result.getText();
                switch()
                {
                    case '1':string+=button_1.getText();text_result.setText(string);break;
                    case '2':string+=button_2.getText();text_result.setText(string);break;
                    case '3':string+=button_3.getText();text_result.setText(string);break;
                    case '4':string+=button_4.getText();text_result.setText(string);break;
                    case '5':string+=button_5.getText();text_result.setText(string);break;
                    case '6':string+=button_6.getText();text_result.setText(string);break;
                    case '7':string+=button_7.getText();text_result.setText(string);break;
                    case '8':string+=button_8.getText();text_result.setText(string);break;
                    case '9':string+=button_9.getText();text_result.setText(string);break;
                    case '0':string+=button_0.getText();text_result.setText(string);break;
                    //case '.':string+=button_star.getText();text_result.setText(string);break;
                    case '&':if(string==""||string.charAt(0)!='-')
                                 string="-"+string;
                                 else
                                 string.replace('-','0');
                                 text_result.setText(string);break;
                    case '+':number[top]=Float.valueOf(string).floatValue();string="";
                             basic=top;top=top%2+1;c=;break;
                    case '-':number[top]=Float.valueOf(string).floatValue();string="";
                             basic=top;top=top%2+1;c=;break;
                    case '*':number[top]=Float.valueOf(string).floatValue();string="";
                             basic=top;top=top%2+1;c=;break;
                    case '/':number[top]=Float.valueOf(string).floatValue();string="";
                             basic=top;top=top%2+1;c=;break;
                    case 'C':string="";text_result.setText("");basic=top=1;break;
                    case 's':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";
                                basic=top;top=top%2+1;}
                             text_result.setText(""+(Math.sqrt(number[basic])));number[basic]=(float)Math.sqrt(number[basic]);break;
                    case '=':switch(c)
                    {
                        case '+':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
                                text_result.setText(""+(temp=number[basic]+number[top]));number[basic]=temp;break;
                        case '-':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
                        text_result.setText(""+(temp=number[basic]-number[top]));number[basic]=temp;break;
                        case '*':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
                        text_result.setText(""+(temp=number[basic]*number[top]));number[basic]=temp;break;
                        case '/':if(string!=""){number[top]=Float.valueOf(string).floatValue();string="";}
                        text_result.setText(""+(temp=number[basic]/number[top]));number[basic]=temp;break;
                        }            
                    }
                }catch(Exception ie){}
                }
            public static void main(String args[])
            {
                try{
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                    }catch(Exception e){}
                    
                calculator ca=new calculator();
                }
            
        }你参考下,加减乘除也不是一两句话能讲清的