[Java] Android下实现一个简单的计算器代码 →→→→→进入此内容的聊天室

来自 , 2020-06-21, 写在 Java, 查看 115 次.
URL http://www.code666.cn/view/657e31ff
  1. import android.app.Activity;                    
  2. import android.os.Bundle;
  3. import android.view.View;
  4. import android.widget.Button;
  5. import android.widget.TextView;
  6. import android.view.View.OnClickListener;
  7.  
  8. public class Computer_Activity extends Activity
  9. {
  10.     TextView tv;
  11.     int[] buttons;                  //数字按钮数组
  12.     int result;
  13.     int result0;
  14.     int result1;
  15.      
  16.     Button buttonC;                 //按钮对象声明
  17.     Button buttonJia;
  18.     Button buttonJian;      
  19.     Button buttonCheng;
  20.     Button buttonChu;
  21.     Button buttonDengyu;
  22.      
  23.     String str1;                                    //旧输入的值
  24.     String str2;                                    //新输入的值
  25.      
  26.     int flag=0;                         //计算标志位,0第一次输入;1加;2减;3乘;4除;5等于
  27.     Button temp;
  28.      
  29.     @Override
  30.     public void onCreate(Bundle savedInstanceState)
  31.     {
  32.         super.onCreate(savedInstanceState);
  33.         setContentView(R.layout.main);  //跳转到main界面
  34.         initButton();
  35.          
  36.         //清空按钮的点击事件监听器
  37.         buttonC.setOnClickListener
  38.         (                              
  39.             new OnClickListener()
  40.             {
  41.                 public void onClick(View v)
  42.                 {
  43.                     str1="";
  44.                     str2="";                            //清空记录
  45.                     tv.setText(str1);
  46.                     flag=0;
  47.                 }
  48.             }
  49.         );
  50.         //监听
  51.         for(int i=0;i<buttons.length;i++)
  52.         {
  53.             temp=(Button)findViewById(buttons[i]);
  54.             temp.setOnClickListener
  55.             (                                   //为Button添加监听器
  56.                 new OnClickListener()
  57.                 {
  58.                     @Override
  59.                     public void onClick(View v)
  60.                     {
  61.                         str1=tv.getText().toString().trim();
  62.                         str1=str1+String.valueOf(((Button)v).getText());//获得新输入的值
  63.                         System.out.println("str1"+":::"+str1);
  64.                         tv.setText(str1);
  65.                     }
  66.                 }
  67.             );
  68.         }
  69.          
  70.         buttonListener(buttonJia,1);
  71.         buttonListener(buttonJian,2);
  72.         buttonListener(buttonCheng,3);
  73.         buttonListener(buttonChu,4);
  74.          
  75.         buttonDengyu.setOnClickListener
  76.         (
  77.             new OnClickListener()
  78.             {
  79.                 @Override
  80.                 public void onClick(View v)
  81.                 {System.out.println(str1);
  82.                     result1=Integer.parseInt(str1);
  83.                     if(flag==1)
  84.                     {
  85.                         result=result0+result1;
  86.                         System.out.println(result0+":"+result1);
  87.                     }
  88.                     else if(flag==2)
  89.                     {
  90.                         result=result0-result1;
  91.                     }
  92.                     else if(flag==3)
  93.                     {
  94.                         result=result0*result1;
  95.                     }
  96.                     else if(flag==4)
  97.                     {
  98.                         result=(int)(result0/result1);
  99.                     }
  100.                     String str=(result+"").trim();
  101.                     System.out.println(str);
  102.                     tv.setText(str);
  103.                 }
  104.             }
  105.         );
  106.  }
  107.      
  108.     //初始化按钮
  109.     public void initButton()
  110.     {                       //初始化控件资源
  111.         tv=(TextView)this.findViewById(R.id.tv);            //获取文本框控件对象
  112.         str1=String.valueOf(tv.getText());str2="";              //初始化运算输入数值
  113.          
  114.         buttonC=(Button)this.findViewById(R.id.ButtonC);    //获得计算按钮的按钮对象
  115.         buttonJia=(Button)this.findViewById(R.id.ButtonJia);
  116.         buttonJian=(Button)this.findViewById(R.id.ButtonJian);
  117.         buttonCheng=(Button)this.findViewById(R.id.ButtonCheng);
  118.         buttonChu=(Button)this.findViewById(R.id.ButtonChu);
  119.         buttonDengyu=(Button)this.findViewById(R.id.ButtonDengyu);
  120.          
  121.         buttons=new int[]
  122.         {                           //记录数值按钮的id
  123.             R.id.Button00,R.id.Button01,R.id.Button02,R.id.Button03,R.id.Button04,
  124.             R.id.Button05,R.id.Button06,R.id.Button07,R.id.Button08,R.id.Button09
  125.         };
  126.     }
  127.      
  128.     //按钮监听
  129.     public void buttonListener(Button button,final int id)
  130.     {
  131.         button.setOnClickListener
  132.         (
  133.             new OnClickListener()
  134.             {
  135.                 @Override
  136.                 public void onClick(View v)
  137.                 {
  138.                     String str=tv.getText().toString().trim();
  139.                     result0=Integer.parseInt(str);
  140.                     tv.setText("");
  141.                     flag=id;
  142.                 }
  143.             }
  144.         );
  145.     }
  146. }
  147. //java/7009

回复 "Android下实现一个简单的计算器代码"

这儿你可以回复上面这条便签

captcha