正文

计算器(四则运算完全成立)sin等功能开始做和排错没做2006-04-28 11:08:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/sword2008/13322.html

分享到:

//摸版没搞,大概只有本人能读!!

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

public class test extends JFrame{
 static int count=0,all=0,but;
 static String fuhao,output="";
 private JLabel promptLabel;
 protected static JTextField inputField;
 private JTextArea outputArea;
 private JButton j0,j1,j2,j3,j4,j5,j6,j7,j8,j9,x1,x2,y1,y2,s1,s2;
 static int cont[]=new int[9];
 static int paixu[]=new int[50];
 
 
 
 
  public test(){
   super("ceshi StringTokenizer");
   Container container=getContentPane();
   container.setLayout(new FlowLayout());
  
   promptLabel=new JLabel("计算器");
   container.add(promptLabel);
   inputField=new JTextField(20);
  
  
  
  
   inputField.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     StringTokenizer tokens=new StringTokenizer(event.getActionCommand());
    
     outputArea.setText("Number of elements"+tokens.countTokens()+"\nThe tokens are:\n");
    
     while(tokens.hasMoreTokens())
     outputArea.append(tokens.nextToken()+"\n");
    }
   });
  
   container.add(inputField);
  
   j1=new JButton("1");
   j2=new JButton("2");
   j3=new JButton("3");
  
   x1=new JButton("*");
   x2=new JButton("/");
  
   j4=new JButton("4");
   j5=new JButton("5");
   j6=new JButton("6");
  
   y1=new JButton("+");
   y2=new JButton("-");
   j7=new JButton("7");
   j8=new JButton("8");
   j9=new JButton("9");
   s1=new JButton("=");
   j0=new JButton("0");
 //1-------------- 
   j1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
    
     count++;
     paixu(1);
     output+=paixu[count];
     inputField.setText(output);
  
    
    
    }
   });
 //2-------------- 
   j2.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(2);
     output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
 //3-------------- 
   j3.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(3);
     output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
//4-----------  
   j4.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(4);
      output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
 //5--------------
 j5.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(5);
     output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
  
   //6---------------------
   j6.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(6);
     output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
  
   //7----------------------
   j7.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(7);
     output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
  
   //8------------
   j8.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(8);
     output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
  
   //9-------------------
   j9.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(9);
     output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
  
   //0-----------------------
   j0.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     count++;
     paixu(0);
    output+=paixu[count];
     inputField.setText(output);
   }
   }
   );
  
 //+-----------  but第二个数组的记录
   y1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
    fuhao="+";
     cont[but]=Integer.parseInt(output.trim());//去掉空格
    count=0;
    but++;
    output="";
   
        
    }
   });
//- ---------------  
   y2.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
 
    fuhao="-";
    cont[but]=Integer.parseInt(output.trim());//去掉空格
    count=0;
    but++;
    output="";
        
    }
   });
  
// *---------------  
   x1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
 
    fuhao="*";
    cont[but]=Integer.parseInt(output.trim());//去掉空格
    count=0;
    but++;
    output="";
        
    }
   });
  
// / ---------------  
   x2.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
 
    fuhao="/";
    cont[but]=Integer.parseInt(output.trim());//去掉空格
    count=0;
    but++;
    output="";
        
    }
   });     

//= --------------------  
   s1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
     cont[but]=Integer.parseInt(output.trim());
   
     if(fuhao=="+")//+
  {   cont[1]=cont[0]+cont[1];
      String All="";
      All+=cont[1];
     inputField.setText(All);
     output=All; //第N次运算保留
     } 
      
    else    if(fuhao=="-")//-
  {   cont[1]=cont[0]-cont[1];
      String All="";
      All+=cont[1];
     inputField.setText(All);
     output=All;
    
    
     } 
  else   if(fuhao=="*")//*
  {   cont[1]=cont[0]*cont[1];
      String All="";
      All+=cont[1];
     inputField.setText(All);
     output=All;
     }   
  else   if(fuhao=="/")// /
  {   cont[1]=cont[0]/cont[1];
      String All="";
      All+=cont[1];
     inputField.setText(All);
     output=All;
     }  
 //清零   
     count=0;
     but-=1; 
//     output="";
   }
   });

  
   container.add(j9);
   container.add(j8);
   container.add(j7);
  
   container.add(x1);
   container.add(x2);
  
   container.add(j6);
   container.add(j5);
   container.add(j4);
  
   container.add(y1);
   container.add(y2);
  
   container.add(j3);
   container.add(j2);
   container.add(j1);
   container.add(j0);
  
   container.add(s1);
  
  math();
  
  
  
  
   outputArea=new JTextArea(10,18);
   outputArea.setEditable(false);
  
   container.add(new JScrollPane(outputArea));
  
  
  
   setSize(275,500);
   setVisible(true);
  
  }
   public static void main(String args[]){
   test application=new test();
   application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
 
   //堆栈-------------------------
  private void paixu(int button){
  
   paixu[count]=button;
  
  }
  //Math涵数按钮引入
  private void math(){
   //加入涵数按钮
   Mathhanshu hanshu=new Mathhanshu();
    Container container=getContentPane();
   container.add(hanshu.sin1);
   container.add(hanshu.cos1);
   container.add(hanshu.tan1);
   container.add(hanshu.tozero);
   
  }
}

//Math涵数按钮
class Mathhanshu {
 protected Button sin1,cos1,tan1,tozero;
 public  Mathhanshu(){
  sin1=new Button("sin");
  cos1=new Button("cos");
  tan1=new Button("tan");
  tozero=new Button("清零");
  
   ActionListener listener= new TT();
  
  sin1.addActionListener(listener);
  cos1.addActionListener(listener);
  tan1.addActionListener(listener);
  tozero.addActionListener(listener);
 }
 
  class TT implements ActionListener{
    public void actionPerformed(ActionEvent event){
         if(sin1==event.getSource())
      {  
          test.inputField.setText(test.output);}
        
         if(cos1==event.getSource())
         ;
         if(tan1==event.getSource())
         ;
         if(tozero==event.getSource())
         ;
        
    }
   }   

}

阅读(4778) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册