计算器JAVA源代码
2007-06-28 10:16:48
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://su3390.blog.51cto.com/176528/32179 |
计算器JAVA源代码
这是我在培训班时,学了一个月后编写的一个简易计算器的源代码。从设计、编码、实现该程序共用时一天(10个小时)。当时只是学完了JAVA的基础知识,各位也看得出,这里面没有用到高深的技术,全是基础的,所以我当时理解的就是:编程主要需要的是解决问题的思维、思想!现将其公布,希望能给初学者一点起示:
[注:将考贝后,在JDK环境下可直接运行]
[源代码]
import java.awt.*;
import java.awt.event.*; import javax.swing.*; import java.util.*; class Jsqzj implements ActionListener
{ JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16; JFrame f; GridLayout c=new GridLayout(4,4); JTextField tf = new JTextField(); public void init() { f=new JFrame("CardLayout testing"); Container ct = f.getContentPane(); tf.setHorizontalAlignment(JTextField.RIGHT); ct.add(tf,"North"); JPanel p2=new JPanel(); ct.add(p2,"Center"); GridLayout c=new GridLayout(4,4); p2.setLayout(c); JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16; b1=new JButton("1"); b2=new JButton("2"); b3=new JButton("3"); b4=new JButton("4"); b5=new JButton("5"); b6=new JButton("6"); b7=new JButton("7"); b8=new JButton("8"); b9=new JButton("9"); b10=new JButton("0"); b11=new JButton("."); b12=new JButton("="); b13=new JButton("+"); b14=new JButton("-"); b15=new JButton("x"); b16=new JButton("/"); p2.add(b1); b1.addActionListener(this); p2.add(b2); b2.addActionListener(this); p2.add(b3); b3.addActionListener(this); p2.add(b13); b13.addActionListener(this); p2.add(b4); b4.addActionListener(this); p2.add(b5); b5.addActionListener(this); p2.add(b6); b6.addActionListener(this); p2.add(b14); b14.addActionListener(this); p2.add(b7); b7.addActionListener(this); p2.add(b8); b8.addActionListener(this); p2.add(b9); b9.addActionListener(this); p2.add(b15); b15.addActionListener(this); p2.add(b10); b10.addActionListener(this); p2.add(b11); b11.addActionListener(this); p2.add(b12); b12.addActionListener(this); p2.add(b16); b16.addActionListener(this); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); f.setSize(200,180); f.setVisible(true); } double sum=0; Vector v=new Vector(1,1); Vector v2=new Vector(1,1); public Jsqzj() { v2.addElement(new String("init")); v.addElement(new String("init")); } public void actionPerformed(ActionEvent e) { String str=tf.getText(); if(e.getActionCommand()=="+") //加号的实现; { if( ("+").equals((String)v2.lastElement()) || ("-").equals((String)v2.lastElement()) || ("x").equals((String)v2.lastElement()) || ("/").equals((String)v2.lastElement()) || ("=").equals((String)v2.lastElement()) ) { tf.setText(String.valueOf(sum)); } else if(("init").equals((String)v2.lastElement())) { tf.setText(String.valueOf(sum)); v2.addElement(new String("=")); } else { double d=Double.parseDouble(str); if (("+").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else if (("-").equals((String)v.lastElement())) { sum=sum-d; tf.setText(String.valueOf(sum)); } else if(("x").equals((String)v.lastElement())) { sum=sum*d; tf.setText(String.valueOf(sum)); } else if(("/").equals((String)v.lastElement())) { sum=sum/d; tf.setText(String.valueOf(sum)); } else if(("=").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else { sum=sum+d; tf.setText(String.valueOf(sum)); } } v.addElement(new String("+")); v2.addElement(new String("+")); } if(e.getActionCommand()=="-") //减号的实现; { if( ("+").equals((String)v2.lastElement()) || ("-").equals((String)v2.lastElement()) || ("x").equals((String)v2.lastElement()) || ("/").equals((String)v2.lastElement()) || ("=").equals((String)v2.lastElement()) ) { tf.setText(String.valueOf(sum)); } else if(("init").equals((String)v2.lastElement())) { tf.setText(String.valueOf(sum)); v2.addElement(new String("=")); } else { double d=Double.parseDouble(str); if (("+").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else if (("-").equals((String)v.lastElement())) { sum=sum-d; tf.setText(String.valueOf(sum)); } else if(("x").equals((String)v.lastElement())) { sum=sum*d; tf.setText(String.valueOf(sum)); } else if(("/").equals((String)v.lastElement())) { sum=sum/d; tf.setText(String.valueOf(sum)); } else if(("=").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else { sum=sum+d; tf.setText(String.valueOf(sum)); } } v.addElement(new String("-")); v2.addElement(new String("-")); } if(e.getActionCommand()=="x") //乘号的实现; { if( ("+").equals((String)v2.lastElement()) || ("-").equals((String)v2.lastElement()) || ("x").equals((String)v2.lastElement()) || ("/").equals((String)v2.lastElement()) || ("=").equals((String)v2.lastElement()) ) { tf.setText(String.valueOf(sum)); } else if(("init").equals((String)v2.lastElement())) { tf.setText(String.valueOf(sum)); v2.addElement(new String("=")); } else { double d=Double.parseDouble(str); if (("+").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else if (("-").equals((String)v.lastElement())) { sum=sum-d; tf.setText(String.valueOf(sum)); } else if(("x").equals((String)v.lastElement())) { sum=sum*d; tf.setText(String.valueOf(sum)); } else if(("/").equals((String)v.lastElement())) { sum=sum/d; tf.setText(String.valueOf(sum)); } else if(("=").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else { sum=sum+d; tf.setText(String.valueOf(sum)); } } v.addElement(new String("x")); v2.addElement(new String("x")); } if(e.getActionCommand()=="/") //除号的实现; { if( ("+").equals((String)v2.lastElement()) || ("-").equals((String)v2.lastElement()) || ("x").equals((String)v2.lastElement()) || ("/").equals((String)v2.lastElement()) || ("=").equals((String)v2.lastElement()) ) { tf.setText(String.valueOf(sum)); } else if(("init").equals((String)v2.lastElement())) { tf.setText(String.valueOf(sum)); v2.addElement(new String("=")); } else { double d=Double.parseDouble(str); if (("+").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else if (("-").equals((String)v.lastElement())) { sum=sum-d; tf.setText(String.valueOf(sum)); } else if(("x").equals((String)v.lastElement())) { sum=sum*d; tf.setText(String.valueOf(sum)); } else if(("/").equals((String)v.lastElement())) { sum=sum/d; tf.setText(String.valueOf(sum)); } else if(("=").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else { sum=sum+d; tf.setText(String.valueOf(sum)); } } v.addElement(new String("/")); v2.addElement(new String("/")); } if (e.getActionCommand()=="=" ) //等号实现; { if( ("+").equals((String)v2.lastElement()) || ("-").equals((String)v2.lastElement()) || ("x").equals((String)v2.lastElement()) || ("/").equals((String)v2.lastElement()) || ("=").equals((String)v2.lastElement()) ) { tf.setText(String.valueOf(sum)); } else if(("init").equals((String)v2.lastElement())) {tf.setText(String.valueOf(sum));} else { double d=Double.parseDouble(str); if (("+").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); } else if (("-").equals((String)v.lastElement())) { sum=sum-d; tf.setText(String.valueOf(sum)); } else if(("x").equals((String)v.lastElement())) { sum=sum*d; tf.setText(String.valueOf(sum)); } else if(("/").equals((String)v.lastElement())) { sum=sum/d; tf.setText(String.valueOf(sum)); } else if(("=").equals((String)v.lastElement())) { sum=sum+d; tf.setText(String.valueOf(sum)); //tf.setText(String.valueOf(sum)); } else { sum=sum+d; tf.setText(String.valueOf(sum)); } } v.addElement(new String("=")); v2.addElement(new String("=")); } if (e.getActionCommand()=="1" || e.getActionCommand()=="2" || e.getActionCommand()=="3" || e.getActionCommand()=="4" || e.getActionCommand()=="5" || e.getActionCommand()=="6" || e.getActionCommand()=="7" || e.getActionCommand()=="8" || e.getActionCommand()=="9" || e.getActionCommand()=="0" || e.getActionCommand()=="." ) //1,2,3,4,5,6,7,8,9,0,.的实现; { if( ("+").equals((String)v2.lastElement()) || ("-").equals((String)v2.lastElement()) || ("x").equals((String)v2.lastElement()) || ("/").equals((String)v2.lastElement()) || ("init").equals((String)v2.lastElement()) ) { tf.setText(""); tf.setText(e.getActionCommand()); } else if (("=").equals((String)v2.lastElement())) { sum=0; tf.setText(""); tf.setText(e.getActionCommand()); } else { tf.setText(tf.getText()+e.getActionCommand());//调用其父类中的getText()方法 } v2.addElement(new String(e.getActionCommand())); } } public static void main(String args[]) { new Jsqzj().init(); } } 本文出自 “兰色的海洋” 博客,请务必保留此出处http://su3390.blog.51cto.com/176528/32179 本文出自 51CTO.COM技术博客 |


su3390
博客统计信息
热门文章
最新评论
友情链接