⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 计算器五.txt

📁 还是一个java实现的计算器代码 java代码
💻 TXT
字号:
myapp.java   
  /******   本软件支持整型运算,实型运算,整型实型混合运算   
  及连续运算,是一款功能较强的计算器*******/   
  import   java.awt.*;   
  import   java.awt.event.*;   
  import   javax.swing.*;   
    
  public   class   myapp   extends   jframe//定义主类   myapp   
  implements   actionlistener//接口继承   常用事件处理   
  {     
  jbutton   button_add=new   jbutton("+");   //定义按钮“+”   
  jbutton   button_del=new   jbutton("-");   //定义按钮"-"   
  jbutton   button_div=new   jbutton("/");   //定义按钮"/"   
  jbutton   button_mul=new   jbutton("*");   //定义按钮"*"   
  jbutton   button_equ=new   jbutton("=");   //定义按钮"="   
    
  jtextfield   textfield=new   jtextfield(10);//创建输入单行文本区域对象   
  jpanel   panel=new   jpanel();   
  float   left,right,result;           //保存数值   
  int   type;//运算类型标示   
  int   temp;   
  //super("原始野人计算器");   
    
  public   void   actionperformed(actionevent   e)//对用户输入做出响应   
  {   
      if(e.getsource()==button_add)   
  {     
      left=float.parsefloat(textfield.gettext());     //保存第一操作数   
      textfield.settext("");//窗口内容重填   
        type=1;   
  }       
  if(e.getsource()==button_equ)   
  {   
      switch(type)   
      {     
      case   1:   
      right=float.parsefloat(textfield.gettext());//保存第二操作数   
      result=left+right;       //计算结果   
      temp=(int)result;   
        if((float)temp==result)   
            textfield.settext(integer.tostring(temp));   
            else     
      textfield.settext(float.tostring(result));//输出结果   
      break;   
      case   2:   
      right=float.parsefloat(textfield.gettext());//保存第二操作数   
      result=left-right;       //计算结果   
        temp=(int)result;   
        if((float)temp==result)   
            textfield.settext(integer.tostring(temp));   
            else     
      textfield.settext(float.tostring(result));//输出结果   
      break;   
      case   3:   
      right=float.parsefloat(textfield.gettext());//保存第二操作数   
      result=left*right;       //计算结果   
        temp=(int)result;           
        if((float)temp==result)       //判断浮点数是否可以直接转换为整形数   
            textfield.settext(integer.tostring(temp));   
            else     
      textfield.settext(float.tostring(result));//输出结果   
      break;   
      case   4:   
      right=float.parsefloat(textfield.gettext());//保存第二操作数   
        result=left/right;       //计算结果   
          temp=(int)result;   
        if((float)temp==result)   
            textfield.settext(integer.tostring(temp));   
            else     
      textfield.settext(float.tostring(result));//输出结果   
        
          break;   
            }   
  }   
  if(e.getsource()==button_del)   
  {     
      left=float.parsefloat(textfield.gettext());     //保存第一操作数   
      textfield.settext("");//窗口内容重填   
        type=2;   
  }       
          if(e.getsource()==button_mul)   
  {     
      left=float.parsefloat(textfield.gettext());     //保存第一操作数   
      textfield.settext("");//窗口内容重填   
        type=3;   
  }       
                if(e.getsource()==button_div)   
  {     
      left=float.parsefloat(textfield.gettext());     //保存第一操作数   
      textfield.settext("");//窗口内容重填   
        type=4;   
  }       
            
  }     
  public   myapp()//对对象初始化   
  {       
        super("原始野人计算器");   
  this.addwindowlistener   (new   windowadapter(){   
  public   void   windowclosing(windowevent   e){   
  dispose();   
  system.exit(0);   
  }   
  });     
  button_add.addactionlistener(this);//事件监听   
  button_del.addactionlistener(this);//事件监听   
              button_div.addactionlistener(this);//事件监听   
              button_mul.addactionlistener(this);//事件监听   
                        panel.setlayout(new   flowlayout());//流水式布局风格   
  panel.add(button_add);//将button_add加入窗口   
  panel.add(button_del);//将button_del加入窗口   
  panel.add(button_div);//将button_div加入窗口   
  panel.add(button_mul);//将button_mut加入窗口   
  button_equ.addactionlistener(this);//事件监听   
  panel.add(button_equ);//将button_equ加入窗口   
  panel.add(textfield);//将textfield加入窗口   
  getcontentpane().add(panel);//将panel加入窗口   
    
    
  }   
    
  public   static   void   main(string   args[])//定义主类中的main方法   
  {   
  system.out.println("starting   app");   
  myapp   f   =   new   myapp();   
  f.setsize(650,150);   
    
  f.show();   
  }   
  }   
    
  

发表者:virgin_killer
import   javax.swing.*;   
  import   java.awt.*;   
  import   java.awt.event.*;   
  public   class   calculator   extends   jframe   implements   actionlistener{   
  boolean   operapressed   =   false;   
  boolean   numberpressed   =   true;   
  boolean   equalpressed   =   false;   
  int   singlenumber;   
  string     displaystring   =   "";   
  int   dotfactorial;   
  char   operator;   
  boolean   dotpressed   =   false;   
  float     tempnumber;         
  float   numafteroperpressed;   
  float   numbercalculated;   
  float   numberstored;       //   store   the   number   wihc   maybe   used   later   
  private   jbutton   sqrt;   
  private   jbutton   divide;   
  private   jbutton     mem;   //   store   the   number   which   may   be   used   later   
  private   jbutton     gem;   //   get   the   number   which   has   been   stroed   
  private   jbutton     clear;       //   reset   the   caculator,   
  private   jbutton     seven7;   
  private   jbutton     eight8;   
  private   jbutton     nine9;   
  private   jbutton     plus;   
  private   jbutton     four4;   
  private   jbutton     five5;   
  private   jbutton     six6;   
  private   jbutton     multiply;   
  private   jbutton     one1;   
  private   jbutton     two2;   
  private   jbutton     three3;   
  private   jbutton     minus;   
  private   jbutton     zero0;   
  private   jbutton     dot;   
  private   jbutton     equals;   
  private   jbutton     plus1;   
  private   jpanel       toppanel;   
  private   jpanel       backpanel;   
  private   jtextfield   display;   
  public   calculator()   
  {   
  toppanel   =   new   jpanel();   
  toppanel.setlayout(new   gridlayout(5,4));   
  sqrt   =   new   jbutton("sqrt");   
  toppanel.add(sqrt);   
  mem   =   new   jbutton("mem");   
  toppanel.add(mem);   
  gem   =   new   jbutton("gem");   
  toppanel.add(gem);   
  clear   =   new   jbutton("c");   
  toppanel.add(clear);   
  seven7   =   new   jbutton("7");   
  toppanel.add(seven7);   
  eight8   =   new   jbutton("8");   
  toppanel.add(eight8);   
  nine9   =   new   jbutton("9");   
  toppanel.add(nine9);   
  plus   =   new   jbutton   ("+");   
  toppanel.add(plus);   
  four4   =   new   jbutton("4");   
  toppanel.add(four4);   
  five5   =   new   jbutton("5");   
  toppanel.add(five5);   
  six6   =   new   jbutton   ("6");   
  toppanel.add(six6);   
  multiply   =   new   jbutton("*");   
  toppanel.add(multiply);   
  one1   =   new   jbutton("1");   
  toppanel.add(one1);   
  two2   =   new   jbutton("2");   
  toppanel.add(two2);   
  three3   =   new   jbutton("3");   
  toppanel.add(three3);   
  minus   =   new   jbutton("-");   
  toppanel.add(minus);   
  zero0   =   new   jbutton("0");   
  toppanel.add(zero0);   
  dot   =   new   jbutton(".");   
  toppanel.add(dot);   
  equals   =   new   jbutton("=");   
  toppanel.add(equals);   
  divide   =   new   jbutton("/");   
  toppanel.add(divide);   
  display   =   new   jtextfield(20);   
  backpanel   =   new   jpanel();   
  backpanel.setlayout(new   borderlayout());   
  backpanel.setbackground(color.red);   
  backpanel.add(display,borderlayout.north);   
  backpanel.add(toppanel,borderlayout.center);   
  getcontentpane().add(backpanel);   
  settitle("calculator");   
  setsize(300,300);   
  setlocation(400,400);   
  pack();   
  setvisible(true);   
  setdefaultcloseoperation(windowconstants.exit_on_close);   
  nine9.addactionlistener(this);   
  eight8.addactionlistener(this);     
  seven7.addactionlistener(this);   
  six6.addactionlistener(this);   
  five5.addactionlistener(this);   
  four4.addactionlistener(this);   
  three3.addactionlistener(this);   
  two2.addactionlistener(this);   
  one1.addactionlistener(this);   
  zero0.addactionlistener(this);   
  clear.addactionlistener(this);   
  dot.addactionlistener(this);   
  plus.addactionlistener(this);   
  minus.addactionlistener(this);   
  multiply.addactionlistener(this);   
  divide.addactionlistener(this);   
  equals.addactionlistener(this);   
  sqrt.addactionlistener(this);   
  mem.addactionlistener(this);   
  gem.addactionlistener(this);   
  clear.addactionlistener(this);   
  }   
  public   void   actionperformed(actionevent   e)   
  {   
  object   getsource   =   e.getsource();   
  if(   getsource   ==   nine9   )   
  {   
  actionafterpressnum(9);   
  }   
  if(   getsource   ==   eight8   )   
  {   
  actionafterpressnum(8);   
  }   
  if(   getsource   ==   seven7   )   
  {   
  actionafterpressnum(7);   
  }   
  if(   getsource   ==   six6   )   
  {   
  actionafterpressnum(6);   
  }   
  if(   getsource   ==   five5   )   
  {   
  actionafterpressnum(5);   
  }   
  if(   getsource   ==   four4   )   
  {   
  actionafterpressnum(4);   
  }   
  if(   getsource   ==   three3   )   
  {   
  actionafterpressnum(3);   
  }   
  if(   getsource   ==   two2   )   
  {   
  actionafterpressnum(2);   
  }   
  if(   getsource   ==   one1   )   
  {   
  actionafterpressnum(1);   
  }   
  if(   getsource   ==   zero0   )   
  {   
  actionafterpressnum(0);   
  }   
  if(   getsource   ==   plus   )   
  {   
  display.settext("加上");   
  if(operapressed)   
  calculataction();   
  else   if   (!equalpressed)   
  numbercalculated   =   tempnumber;   
  else     
  tempnumber   =   numbercalculated;   
  operator   =   +   ;   
  operapressed   =   true;   
  numberpressed   =   false;   
  tempnumber   =   0;   
  dotfactorial   =   0;   
  }

发表者:virgin_killer
else   if   (   getsource   ==   minus   )   
    
  {   
  display.settext("减去");   
  if(operapressed)   
  calculataction();   
  else   if   (!equalpressed)   
  numbercalculated   =   tempnumber;   
  else     
  tempnumber   =   numbercalculated;   
  operator   =   -   ;   
  operapressed   =   true;   
  numberpressed   =   false;   
  tempnumber   =   0;   
  dotfactorial   =   0;   
  }   
  else   if(   getsource   ==   multiply   )     
  {   
  display.settext("乘以");   
  if(operapressed)   
  calculataction();   
  else   if   (!equalpressed)   
  numbercalculated   =   tempnumber;   
  else     
  tempnumber   =   numbercalculated;   
  operator   =   *   ;   
  operapressed   =   true;   
  numberpressed   =   false;   
  tempnumber   =   0;   
  dotfactorial   =   0;   
  }   
  else   if(   getsource   ==   divide   )   
  {   
  display.settext("除以");   
  if(operapressed)   
  calculataction();   
  else   if   (!equalpressed)   
  numbercalculated   =   tempnumber;   
  else     
  tempnumber   =   numbercalculated;   
  operator   =   /   ;   
  operapressed   =   true;   
  numberpressed   =   false;   
  tempnumber   =   0;   
  dotfactorial   =   0;   
  }   
  else   if(   getsource   ==   sqrt   )   
  {   
    
  display.settext("开方");   
  if(operapressed)   
  calculataction();   
  if(!operapressed   &&   !equalpressed)   
  numbercalculated   =   tempnumber   ;   
  operator   =   s   ;   
  operapressed   =   true;   
  numberpressed   =   false;   
  tempnumber   =   0;   
  dotfactorial   =   0;   
  }   
  else   if(   getsource   ==   equals   )   
  {   
  calculataction();   
  display.settext(""+numbercalculated);   
  equalpressed   =   true;   
  numberpressed   =   false;   
  operapressed   =   false;   
          tempnumber   =   0f;   
          dotfactorial   =   0;   
  }   
  else   if(   getsource   ==   mem   )   
  {   
  display.settext("保存这个数");   
  numberstored   =   numbercalculated;   
  operapressed   =   false;   
  numberpressed   =   true;   
  equalpressed   =   false;   
  displaystring   =   "   ";   
  operator   =     ;   
  dotpressed   =   false;   
  tempnumber   =   0;   
  numbercalculated   =   0;   
  numafteroperpressed   =   0;   
          dotfactorial   =   0;   
  }   
  else   if(   getsource   ==   gem   )   
  {   
  display.settext("取出保存的数");   
  tempnumber   =   numberstored;   
  }   
  else   if(   getsource   ==   clear   )   
  {   
    
    operapressed   =   false;   
    numberpressed   =   true;   
    equalpressed   =   false;   
    displaystring   =   "   ";   
    display.settext("0");   
    operator   =     ;   
    dotpressed   =   false;   
    tempnumber   =   0;   
    numbercalculated   =   0;   
    numafteroperpressed   =   0;   
    dotfactorial   =   0;   
  }   
  else   if(   getsource   ==   dot   )   
  {   
  dotpressed   =   true;   
  displaystring   +=   .;   
  display.settext(displaystring);   
    
  }   
  }   
  public   void   calculataction()   
  {   
  switch(operator)   
  {   
          case   +   :     
                  numbercalculated   =   numbercalculated   +   tempnumber;   
                  break;   
          case   -   :   
          numbercalculated   =   numbercalculated   -   tempnumber;   
          break;   
          case   *   :   
          numbercalculated   =   numbercalculated   *   tempnumber;   
          break;   
          case   /   :   
          numbercalculated   =   numbercalculated   /   tempnumber;   
          break;   
          case   s   :   
          numbercalculated   =   (float)   math.sqrt(numbercalculated);   
                  }   
  }   
  void   actionafterpressnum   (int   i)   
  {   
  if(numberpressed)   
  {   
  displaystring   +=   i;   
  display.settext(displaystring);   
  }   
  else     
  {   
  displaystring   =   integer.tostring(i);   
  display.settext(""   +   i);   
  }   
  if   (dotpressed   &&   numberpressed)   
  {   
  tempnumber   +=   i*math.pow(10,-(++dotfactorial));   
  }   
  else     
  tempnumber   =   tempnumber*10   +   i;   
  numberpressed   =   true;   
  }   
  public   static   void   main(string   args[])   
  {   
  calculator   cal   =   new   calculator();   
  }   
    
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -