java applet 计算器

  • M8_224732
    了解作者
  • 10.4KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-18 07:37
    上传日期
java applet 实现的简易计算器,支持加、减、乘、除、取模以及带括号的运算表达式求值,适合初学j2se的同学作为参考。
calculator.zip
  • calculator
  • log
  • Logfile.1
    8B
  • Version_Number
    4B
  • Snapshot.1
    237B
  • .project
    386B
  • SubFrm.class
    1.4KB
  • java.policy.applet
    141B
  • SubFrm.java
    855B
  • calculator.html
    424B
  • calculator.java
    11.4KB
  • .classpath
    226B
  • calculator.class
    8.8KB
内容介绍
import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.util.*; public class calculator extends Applet implements ActionListener { TextField tf=new TextField(10); Label lb=new Label("请输入算式!"); Label tst=new Label(""); SubFrm frm_btn; String org; Vector ins; public void init() { this.setLayout(new BorderLayout(10,10)); this.setBackground(Color.gray); this.setForeground(Color.blue); frm_btn=new SubFrm(); frm_btn.setLayout(new GridLayout(7,3,5,2)); frm_btn.setBackground(Color.gray); frm_btn.setForeground(Color.blue); frm_btn.bt0.setBackground(Color.white); frm_btn.bt1.setBackground(Color.white); frm_btn.bt2.setBackground(Color.white); frm_btn.bt3.setBackground(Color.white); frm_btn.bt4.setBackground(Color.white); frm_btn.bt5.setBackground(Color.white); frm_btn.bt6.setBackground(Color.white); frm_btn.bt7.setBackground(Color.white); frm_btn.bt8.setBackground(Color.white); frm_btn.bt9.setBackground(Color.white); frm_btn.btpls.setBackground(Color.yellow); frm_btn.btsub.setBackground(Color.yellow); frm_btn.btmul.setBackground(Color.yellow); frm_btn.btdiv.setBackground(Color.yellow); frm_btn.btmod.setBackground(Color.yellow); frm_btn.btpnt.setBackground(Color.orange); frm_btn.btlef.setBackground(Color.green); frm_btn.btrig.setBackground(Color.green); frm_btn.btres.setBackground(Color.red); frm_btn.btbeg.setBackground(Color.red); frm_btn.btdel.setBackground(Color.red); this.add("North",tf); this.add("Center",lb); tf.setEditable(false); this.add("South",frm_btn); frm_btn.add(frm_btn.bt1); frm_btn.add(frm_btn.bt2); frm_btn.add(frm_btn.bt3); frm_btn.add(frm_btn.bt4); frm_btn.add(frm_btn.bt5); frm_btn.add(frm_btn.bt6); frm_btn.add(frm_btn.bt7); frm_btn.add(frm_btn.bt8); frm_btn.add(frm_btn.bt9); frm_btn.add(frm_btn.bt0); frm_btn.add(frm_btn.btpls); frm_btn.add(frm_btn.btsub); frm_btn.add(frm_btn.btmul); frm_btn.add(frm_btn.btdiv); frm_btn.add(frm_btn.btmod); frm_btn.add(frm_btn.btlef); frm_btn.add(frm_btn.btrig); frm_btn.add(frm_btn.btpnt); frm_btn.add(frm_btn.btdel); frm_btn.add(frm_btn.btres); frm_btn.add(frm_btn.btbeg); frm_btn.bt0.addActionListener(this); frm_btn.bt1.addActionListener(this); frm_btn.bt2.addActionListener(this); frm_btn.bt3.addActionListener(this); frm_btn.bt4.addActionListener(this); frm_btn.bt5.addActionListener(this); frm_btn.bt6.addActionListener(this); frm_btn.bt7.addActionListener(this); frm_btn.bt8.addActionListener(this); frm_btn.bt9.addActionListener(this); frm_btn.btpls.addActionListener(this); frm_btn.btsub.addActionListener(this); frm_btn.btmul.addActionListener(this); frm_btn.btdiv.addActionListener(this); frm_btn.btpnt.addActionListener(this); frm_btn.btlef.addActionListener(this); frm_btn.btrig.addActionListener(this); frm_btn.btmod.addActionListener(this); frm_btn.btdel.addActionListener(this); frm_btn.btres.addActionListener(this); frm_btn.btbeg.addActionListener(this); resize(250,230); } public void actionPerformed(ActionEvent e) { if(e.getSource()==frm_btn.bt0) tf.setText(tf.getText()+"0"); if(e.getSource()==frm_btn.bt1) tf.setText(tf.getText()+"1"); if(e.getSource()==frm_btn.bt2) tf.setText(tf.getText()+"2"); if(e.getSource()==frm_btn.bt3) tf.setText(tf.getText()+"3"); if(e.getSource()==frm_btn.bt4) tf.setText(tf.getText()+"4"); if(e.getSource()==frm_btn.bt5) tf.setText(tf.getText()+"5"); if(e.getSource()==frm_btn.bt6) tf.setText(tf.getText()+"6"); if(e.getSource()==frm_btn.bt7) tf.setText(tf.getText()+"7"); if(e.getSource()==frm_btn.bt8) tf.setText(tf.getText()+"8"); if(e.getSource()==frm_btn.bt9) tf.setText(tf.getText()+"9"); if(e.getSource()==frm_btn.btpls) tf.setText(tf.getText()+"+"); if(e.getSource()==frm_btn.btsub) tf.setText(tf.getText()+"-"); if(e.getSource()==frm_btn.btmul) tf.setText(tf.getText()+"*"); if(e.getSource()==frm_btn.btdiv) tf.setText(tf.getText()+"/"); if(e.getSource()==frm_btn.btpnt) tf.setText(tf.getText()+"."); if(e.getSource()==frm_btn.btlef) tf.setText(tf.getText()+"("); if(e.getSource()==frm_btn.btrig) tf.setText(tf.getText()+")"); if(e.getSource()==frm_btn.btmod) tf.setText(tf.getText()+"m"); if(e.getSource()==frm_btn.btdel) { if(tf.getText().length()!=0) { tf.setText((tf.getText()).substring(0,tf.getText().length()-1)); } } if(e.getSource()==frm_btn.btres) { tf.setText(""); lb.setText("请输入算式!"); } if(e.getSource()==frm_btn.btbeg) { lb.setText("算式:"+tf.getText()); this.cal_proc(); } } public void cal_proc() { if(getAllEleAndCheck()==false) { tf.setText("您输入的算式有错误!"); } else { if(doCalculate()==false) { tf.setText("计算中出现错误,请检查算式!"); } } } public boolean getAllEleAndCheck() { int i,cnt,tag; char curc,prec; boolean preIsDig; String org=new String(tf.getText()); ins=new Vector(); preIsDig=false; tag=0; cnt=0;; for(i=0;i<org.length();i++) { curc=org.charAt(i); if(i==0) { if((curc!='+')&&(curc!='-')&& (curc!='*')&&(curc!='/') &&(curc!='m')&&(curc!=')')) { if((curc!='(')) { tag=i; preIsDig=true; } else { preIsDig=false; } } else if(curc=='-') //表达式中负数的处理 { org="0"+org; i--; } else return false; } else if(i==(org.length()-1)) { prec=org.charAt(i-1); if(curc=='.') return false; if((curc=='+')||(curc=='-')||(curc=='*') ||(curc=='/')||(curc=='m')) return false; if(curc=='(') return false; if(curc==')') { if(preIsDig) { ins.addElement(org.substring(tag,i)); ins.addElement(")"); } else if(prec==')') { ins.addElement(")"); } else return false; } else { if(preIsDig) { ins.addElement(org.substring(tag,i+1)); } else ins.addElement(org.substring(i,i+1)); } } else { prec=org.charAt(i-1); if(curc=='.') { if((prec=='.')||(prec==')')) return false; else { if(preIsDig==false) { tag=i; } preIsDig=true; } } else if(prec=='('&&curc=='-') //负数出现 { ins.addElement("("); tag=i; preIsDig=true; } else { if((curc=='+')||(curc=='-')||(curc=='*') ||(curc=='/')||(curc=='m')) { if((prec=='.') ||((preIsDig==false)&&(prec)!=')') ||(prec=='(')) return false; else if(preIsDig||(prec==')')) { if(preIsDig) { ins.addElement(org.substring(tag,i)); ins.addElement(org.substring(i,i+1)); } else { ins.addElement(org.substring(i,i+1)); } preIsDig=false; } else return false; } else if(curc==')') { if(prec=='(') return false; else if(preIsDig) { ins.addElement(org.substring(tag,i)); ins.addElement(")"); preIsDig=false; } else if(prec==')') { ins.addElement(")"); } else return false; } else if((curc=='(')) { if(preIsDig) return false; if(prec=='.') return false; if(prec==')') return false; if(prec=='(') ins.addElement("("); preIsDig=false; } else { if(preIsDig==false) { if(prec==')') return false; tag=i; } if(prec=='(') ins.addElement("("); preIsDig=true; } } } } for(i=0;i<ins.si
评论
    相关推荐
    • Java
      Java 对于Java练习
    • java
      Java Java基础
    • Java
      Java 我创建的Java项目
    • JAVA教程
      一本非常不错的清华大学java教程,讲解非常详细,看了就知道。
    • Java Cipher
      Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码 Java Cipher 加密和解密工具 附带源码
    • javabank
      Java银行 Java com的模拟操作将在bancárias上发布! 要求:Java 8。
    • java 李兴华
      java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java 李兴华 java ...
    • JAVA教程
      详细介绍了JAVA语言程序设计,对JAVA的基础知识运用实例的方式来讲解,使初学者能够非常轻松的掌握。
    • java程序
      java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点java程序-吃点点
    • Java
      Java 2021/02/19 .java Main.java 学生.java Bmi.java 。班级 Bmi类 主类 MyBmi.class 学生班 学生样本类 2021/02/20 .java DeleteFile.java WriteFile.java MyDataPrint.java 。班级 DeleteFile.class ...