源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

从零开始学android实现计算器功能示例分享(计算器源码)

  • 时间:2022-03-20 16:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:从零开始学android实现计算器功能示例分享(计算器源码)
下面是效果展示: [img]http://files.jb51.net/file_images/article/201402/04151658-618a475ba397485fac9c6749c274b5a9.gif?20141815029[/img] [img]http://files.jb51.net/file_images/article/201402/04151702-369347bf33454c268909e8f71f6c867c.gif?2014181517[/img]
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical" >     <LinearLayout android:layout_width="fill_parent"     android:layout_height="wrap_content">  <TextView       android:id="@+id/tvResult"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:height="50dp"      android:text="@string/tvResult"      /> </LinearLayout> <LinearLayout android:layout_width="fill_parent"     android:layout_height="wrap_content">     <Button         android:id="@+id/btnBackspace"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:width="150dp"         android:layout_marginLeft="10dp"              android:text="@string/btnbackspace"/>       <Button         android:id="@+id/btnCE"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="150dp"              android:text="@string/btnCE"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent"     android:layout_height="wrap_content">       <Button         android:id="@+id/btn7"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginLeft="10dp"          android:width="75dp"              android:text="@string/btn7"/>          <Button         android:id="@+id/btn8"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btn8"/>                <Button         android:id="@+id/btn9"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btn9"/>                      <Button         android:id="@+id/btnDiv"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btnDiv"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent"     android:layout_height="wrap_content">       <Button         android:id="@+id/btn4"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginLeft="10dp"          android:width="75dp"              android:text="@string/btn4"/>          <Button         android:id="@+id/btn5"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btn5"/>                <Button         android:id="@+id/btn6"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btn6"/>                      <Button         android:id="@+id/btnMul"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btnMul"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent"     android:layout_height="wrap_content">       <Button         android:id="@+id/btn1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginLeft="10dp"          android:width="75dp"              android:text="@string/btn1"/>          <Button         android:id="@+id/btn2"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btn2"/>                <Button         android:id="@+id/btn3"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btn3"/>                      <Button         android:id="@+id/btnAdd"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btnAdd"/> </LinearLayout> <LinearLayout android:layout_width="fill_parent"     android:layout_height="wrap_content">       <Button         android:id="@+id/btn0"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginLeft="10dp"          android:width="75dp"              android:text="@string/btn0"/>          <Button         android:id="@+id/btnC"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btnC"/>                <Button         android:id="@+id/btnEqu"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btnEqu"/>                      <Button         android:id="@+id/btnSub"         android:layout_width="wrap_content"         android:layout_height="wrap_content"          android:width="75dp"              android:text="@string/btnSub"/> </LinearLayout> </LinearLayout>
[u]复制代码[/u] 代码如下:
package com.example.week2; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.app.Activity; public class MainActivity extends Activity  implements OnClickListener{     //声明一些控件     Button btn0=null;     Button btn1=null;     Button btn2=null;     Button btn3=null;     Button btn4=null;     Button btn5=null;     Button btn6=null;     Button btn7=null;     Button btn8=null;     Button btn9=null;     Button btnBackspace=null;     Button btnCE=null;     Button btnC=null;     Button btnAdd=null;     Button btnSub=null;     Button btnMul=null;     Button btnDiv=null;     Button btnEqu=null;     TextView tvResult=null;     //声明两个参数。接收tvResult前后的值     double num1=0,num2=0;     double Result=0;//计算结果     int op=0;//判断操作数,     boolean isClickEqu=false;//判断是否按了“=”按钮     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         //从布局文件中获取控件,         btn0=(Button)findViewById(R.id.btn0);         btn1=(Button)findViewById(R.id.btn1);         btn2=(Button)findViewById(R.id.btn2);         btn3=(Button)findViewById(R.id.btn3);         btn4=(Button)findViewById(R.id.btn4);         btn5=(Button)findViewById(R.id.btn5);         btn6=(Button)findViewById(R.id.btn6);         btn7=(Button)findViewById(R.id.btn7);         btn8=(Button)findViewById(R.id.btn8);         btn9=(Button)findViewById(R.id.btn9);         btnBackspace=(Button)findViewById(R.id.btnBackspace);         btnCE=(Button)findViewById(R.id.btnCE);         btnC=(Button)findViewById(R.id.btnC);         btnEqu=(Button)findViewById(R.id.btnEqu);         btnAdd=(Button)findViewById(R.id.btnAdd);         btnSub=(Button)findViewById(R.id.btnSub);         btnMul=(Button)findViewById(R.id.btnMul);         btnDiv=(Button)findViewById(R.id.btnDiv);         tvResult=(TextView)findViewById(R.id.tvResult);         //添加监听\         btnBackspace.setOnClickListener(this);         btnCE.setOnClickListener(this);         btn0.setOnClickListener(this);         btn1.setOnClickListener(this);         btn2.setOnClickListener(this);         btn3.setOnClickListener(this);         btn4.setOnClickListener(this);         btn5.setOnClickListener(this);         btn6.setOnClickListener(this);         btn7.setOnClickListener(this);         btn8.setOnClickListener(this);         btn9.setOnClickListener(this);                 btnAdd.setOnClickListener(this);         btnSub.setOnClickListener(this);         btnMul.setOnClickListener(this);         btnDiv.setOnClickListener(this);         btnEqu.setOnClickListener(this);     }     @Override     public void onClick(View v) {         switch (v.getId()) {         //btnBackspace和CE--------------------         case R.id.btnBackspace:             String myStr=tvResult.getText().toString();             try {                 tvResult.setText(myStr.substring(0, myStr.length()-1));             } catch (Exception e) {                 tvResult.setText("");             }             break;         case R.id.btnCE:             tvResult.setText(null);             break;             //btn0--9---------------------------         case R.id.btn0:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString=tvResult.getText().toString();             myString+="0";             tvResult.setText(myString);             break;         case R.id.btn1:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString1=tvResult.getText().toString();             myString1+="1";             tvResult.setText(myString1);             break;         case R.id.btn2:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString2=tvResult.getText().toString();             myString2+="2";             tvResult.setText(myString2);             break;         case R.id.btn3:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString3=tvResult.getText().toString();             myString3+="3";             tvResult.setText(myString3);             break;         case R.id.btn4:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString4=tvResult.getText().toString();             myString4+="4";             tvResult.setText(myString4);             break;         case R.id.btn5:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString5=tvResult.getText().toString();             myString5+="5";             tvResult.setText(myString5);             break;         case R.id.btn6:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString6=tvResult.getText().toString();             myString6+="6";             tvResult.setText(myString6);             break;         case R.id.btn7:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString7=tvResult.getText().toString();             myString7+="7";             tvResult.setText(myString7);             break;         case R.id.btn8:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString8=tvResult.getText().toString();             myString8+="8";             tvResult.setText(myString8);             break;         case R.id.btn9:             if(isClickEqu)             {                 tvResult.setText(null);                 isClickEqu=false;             }             String myString9=tvResult.getText().toString();             myString9+="9";             tvResult.setText(myString9);             break;             //btn+-*/=--------------------------------         case R.id.btnAdd:                        String myStringAdd=tvResult.getText().toString();             if(myStringAdd.equals(null))             {                 return;             }             num1=Double.valueOf(myStringAdd);             tvResult.setText(null);             op=1;             isClickEqu=false;             break;         case R.id.btnSub:             String myStringSub=tvResult.getText().toString();             if(myStringSub.equals(null))             {                 return;             }             num1=Double.valueOf(myStringSub);             tvResult.setText(null);             op=2;             isClickEqu=false;             break;         case R.id.btnMul:             String myStringMul=tvResult.getText().toString();             if(myStringMul.equals(null))             {                 return;             }             num1=Double.valueOf(myStringMul);             tvResult.setText(null);             op=3;             isClickEqu=false;             break;         case R.id.btnDiv:             String myStringDiv=tvResult.getText().toString();             if(myStringDiv.equals(null))             {                 return;             }             num1=Double.valueOf(myStringDiv);             tvResult.setText(null);             op=4;             isClickEqu=false;             break;         case R.id.btnEqu:             String myStringEqu=tvResult.getText().toString();             if(myStringEqu.equals(null))             {                 return;             }             num2=Double.valueOf(myStringEqu);             tvResult.setText(null);             switch (op) {             case 0:                 Result=num2;                 break;             case 1:                 Result=num1+num2;                 break;             case 2:                 Result=num1-num2;                 break;             case 3:                 Result=num1*num2;                 break;             case 4:                 Result=num1/num2;                 break;             default:                 Result=0;                 break;             }             tvResult.setText(String.valueOf(Result));             isClickEqu=true;             break;         default:             break;         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部