第一个android程序简易计算器

本文介绍了一款简易计算器的设计与实现过程,采用线性布局并使用匿名内部类进行监听。文章详细展示了布局文件代码和主程序代码,实现了基本的算术运算功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

感谢慕课网免费提供了学习途径和优秀的课程。

本文参考借鉴了一下博客大部分程序,并做了部分完善。

http://blog.youkuaiyun.com/nupt123456789/article/details/7832443


实现效果如下:


布局方式使用线性布局,监听方式使用的是匿名内部类。

布局文件代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    
    tools:context="com.Groot.simplecalculator.MainActivity" >

    <EditText
        android:id="@+id/displaytext"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:gravity="end|center_vertical"
        android:background="@drawable/white_bg"
        android:editable="false"
         >

        <requestFocus />
    </EditText>

    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:orientation="horizontal"
        >

        <Button
            android:id="@+id/btn_clear"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:text="@string/clear"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle"
            />

        <Button
            android:id="@+id/btn_del"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/delete"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_divide"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/divide"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_multiply"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/multiply"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

    </LinearLayout>
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:orientation="horizontal"
        
        >

        <Button
            android:id="@+id/btn_7"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:text="@string/Num_7"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_8"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/Num_8"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_9"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/Num_9"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_subtract"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/subtract"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle"/>

    </LinearLayout>
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_marginTop="10dp"
        android:orientation="horizontal"
        >

        <Button
            android:id="@+id/btn_4"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:text="@string/Num_4"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_5"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/Num_5"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_6"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/Num_6"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_add"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/add"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

    </LinearLayout>
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal"
        >
	 <LinearLayout 
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:orientation="vertical"
	    >
	    <LinearLayout
	        android:layout_width="wrap_content"
	        android:layout_height="wrap_content"
	        android:orientation="horizontal" 
	        >

	    <Button
	        android:id="@+id/btn_1"
	        android:layout_width="60dp"
	        android:layout_height="60dp"
	        android:text="@string/Num_1"
	        android:textSize="20sp"
	        android:background="@drawable/white_selector"
	        style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_2"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/Num_2"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />

        <Button
            android:id="@+id/btn_3"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/Num_3"
            android:textSize="20sp" 
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle"/>

        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            
            >

        <Button
            android:id="@+id/btn_0"
            android:layout_width="130dp"
            android:layout_height="60dp"
            android:text="@string/Num_0"
            android:textSize="20sp" 
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle"/>

        <Button
            android:id="@+id/btn_point"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:layout_marginLeft="10dip"
            android:text="@string/point"
            android:textSize="20sp"
            android:background="@drawable/white_selector"
            style="?android:attr/borderlessButtonStyle" />
            
        </LinearLayout>
	 </LinearLayout>

	 <Button
	     android:id="@+id/btn_equal"
	     android:layout_width="60dp"
	     android:layout_height="130dp"
	     android:layout_marginLeft="10dip"
	     android:text="@string/equal"
	     android:textSize="20sp" 
	     android:background="@drawable/orange_selector"
	     style="?android:attr/borderlessButtonStyle"/>
	    
    </LinearLayout>

</LinearLayout>


主程序:

package com.Groot.simplecalculator;

import javax.xml.transform.Templates;

import android.R.string;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;


public class MainActivity extends Activity {
	Button btn0;
	Button btn1;
	Button btn2;
	Button btn3;
	Button btn4;
	Button btn5;
	Button btn6;
	Button btn7;
	Button btn8;
	Button btn9;
	Button clear;
	Button del;
	Button add;
	Button subtract;
	Button multiply;
	Button divide;
	Button point;
	Button equal;
	EditText showtext;
	
	double num1=0;
	double num2=0;
	double result=0;
	int CalType=0;
	boolean EquBtnDownFlag = false;
	boolean CalBtnDownFlag = false;		
	

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("简易计算器-邱小健");
        showtext = (EditText) findViewById(R.id.displaytext);
        showtext.setText("0");
        btn0 = (Button) findViewById(R.id.btn_0);
        btn1 = (Button) findViewById(R.id.btn_1);
        btn2 = (Button) findViewById(R.id.btn_2);
        btn3 = (Button) findViewById(R.id.btn_3);
        btn4 = (Button) findViewById(R.id.btn_4);
        btn5 = (Button) findViewById(R.id.btn_5);
        btn6 = (Button) findViewById(R.id.btn_6);
        btn7 = (Button) findViewById(R.id.btn_7);
        btn8 = (Button) findViewById(R.id.btn_8);
        btn9 = (Button) findViewById(R.id.btn_9);
        clear = (Button) findViewById(R.id.btn_clear);
        del = (Button) findViewById(R.id.btn_del);
        add = (Button) findViewById(R.id.btn_add);
        subtract = (Button) findViewById(R.id.btn_subtract);
        multiply = (Button) findViewById(R.id.btn_multiply);
        divide = (Button) findViewById(R.id.btn_divide);
        point = (Button) findViewById(R.id.btn_point);
        equal = (Button) findViewById(R.id.btn_equal);
        
        
        
        btn0.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="0";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        
        btn1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="1";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="2";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn3.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="3";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn4.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="4";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn5.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="5";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn6.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="6";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn7.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="7";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn8.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="8";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
        btn9.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				if(CalBtnDownFlag){
					showtext.setText(null);
					CalBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+="9";
				double num=Double.parseDouble(CalString);
				if ((Math.round(num)-num)==0) {
					CalString = String.valueOf((long)num);
				}
				else {
					CalString = String.valueOf(num);
				}
				showtext.setText(CalString);
			}
		});
       point.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if(EquBtnDownFlag){
					showtext.setText(null);
					EquBtnDownFlag= false;
				}
				CharSequence temp =showtext.getText();
				String CalString =temp.toString();
				CalString+=".";
				showtext.setText(CalString);
			}
		});
       add.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				CharSequence temp =showtext.getText();
				// TODO Auto-generated method stub
				if(temp.equals(null)){
					return;
				}
				String CalString =temp.toString();
				num1=Double.parseDouble(CalString);
				CalType=1;
				showtext.setText(CalString);
				CalBtnDownFlag = true;
			}
		});
       subtract.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				CharSequence temp =showtext.getText();
				// TODO Auto-generated method stub
				if(temp.equals(null)){
					return;
				}
				String CalString =temp.toString();
				num1=Double.parseDouble(CalString);
				CalType=2;
				showtext.setText(CalString);
				CalBtnDownFlag = true;
			}
		});
       multiply.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				CharSequence temp =showtext.getText();
				// TODO Auto-generated method stub
				if(temp.equals(null)){
					return;
				}
				String CalString =temp.toString();
				num1=Double.parseDouble(CalString);
				CalType=3;
				showtext.setText(CalString);
				CalBtnDownFlag = true;
			}
		});
       divide.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				CharSequence temp =showtext.getText();
				// TODO Auto-generated method stub
				if(temp.equals(null)){
					return;
				}
				String CalString =temp.toString();
				num1=Double.parseDouble(CalString);
				CalType=4;
				showtext.setText(CalString);
				CalBtnDownFlag = true;
			}
		});
       clear.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				
				CharSequence temp ="0";
				String CalString =temp.toString();
				
				showtext.setText(CalString);
			}
		});
       del.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				CharSequence temp =showtext.getText();
				if(temp.equals(null)){
					return;
				}
				
				String CalString =temp.toString();
				int str = CalString.length();
				if(str == 1){showtext.setText("0");}
				else {
					CalString = CalString.substring(0, CalString.length()-1);
					showtext.setText(CalString);
				}
				
			}
		});
       equal.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				CharSequence temp =showtext.getText();
				// TODO Auto-generated method stub
				if(temp.equals(null)){
					return;
				}
				if (EquBtnDownFlag) {
					double SecondNum;
					num1 = result;
				}
				else {
					String CalString =temp.toString();
					num2=Double.parseDouble(CalString);
				}
				
				switch(CalType){
				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;
					
				}
				String temp_result =null;
				if ((Math.round(result)-result)==0) {
					temp_result=String.valueOf((long)result);
				}
				else {
					temp_result=String.valueOf(result);
				}
				showtext.setText(temp_result);
				EquBtnDownFlag = true;
			}
		});
       

        
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}


基于安卓java开发简单计算器程序。 package com.he; import android.app.Activity; import android.os.Bundle; import android.text.InputType; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class CalculatorActivity extends Activity { //加plus 减subtract 乘multiply 除divide private EditText etResult; private Button btPlus; private Button btSub; private Button btMultiply; private Button btDivide; private Button btDelete; private Button btCe; private Button btPoint; private Button btDeng; private Button bt0; private Button bt1; private Button bt2; private Button bt3; private Button bt4; private Button bt5; private Button bt6; private Button bt7; private Button bt8; private Button bt9; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); etResult=(EditText)findViewById(R.id.etResult); btPlus=(Button)findViewById(R.id.btPlus); btSub=(Button)findViewById(R.id.btSubtract); btMultiply=(Button)findViewById(R.id.btMultiply); btDivide=(Button)findViewById(R.id.btDivide); btDelete=(Button)findViewById(R.id.btDelete); btDeng=(Button)findViewById(R.id.btDeng); btPoint=(Button)findViewById(R.id.btPoint); btCe=(Button)findViewById(R.id.btCe); bt0=(Button)findViewById(R.id.bt0); bt1=(Button)findViewById(R.id.bt1); bt2=(Button)findViewById(R.id.bt2); bt3=(Button)findViewById(R.id.bt3); bt4=(Button)findViewById(R.id.bt4); bt5=(Button)findViewById(R.id.bt5); bt6=(Button)findViewById(R.id.bt6); bt7=(Button)findViewById(R.id.bt7); bt8=(Button)findViewById(R.id.bt8); bt9=(Button)findViewById(R.id.bt9); etResult.setInputType(InputType.TYPE_NULL); /* * .按钮 */ btPoint.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); if(str1.equals("")){ etResult.setText(""); }else{ etResult.setText(str1+btPoint.getText().toString()); } } }); /* * 0---------9的数字按钮 */ bt0.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); if(str1.equals("")){ etResult.setText(""); }else{ etResult.setText(str1+bt0.getText().toString()); } } }); bt1.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt1.getText().toString()); } }); bt2.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt2.getText().toString()); } }); bt3.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt3.getText().toString()); } }); bt4.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt4.getText().toString()); } }); bt5.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt5.getText().toString()); } }); bt6.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt6.getText().toString()); } }); bt7.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt7.getText().toString()); } }); bt8.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt8.getText().toString()); } }); bt9.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str1=etResult.getText().toString(); etResult.setText(str1+bt9.getText().toString()); } }); /* * ce键 清空 */ btCe.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { etResult.setText(""); } }); /* * Delete键 */ btDelete.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str=etResult.getText().toString(); if(str.length()==0){ etResult.setText(""); }else{ etResult.setText(str.subSequence(0, str.length()-1)); } } }); /* * + 、-、 * 、/四个按钮 */ btPlus.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { final String str=etResult.getText().toString(); if(str.equals("")){ etResult.setText(""); }else{ etResult.setText(str+btPlus.getText().toString()); } } }); btSub.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str=etResult.getText().toString(); if(str.equals("")){ etResult.setText(""); }else{ etResult.setText(str+btSub.getText().toString()); } } }); btMultiply.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str=etResult.getText().toString(); if(str.equals("")){ etResult.setText(""); }else{ etResult.setText(str+btMultiply.getText().toString()); } } }); btDivide.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str=etResult.getText().toString(); if(str.equals("")){ etResult.setText(""); }else{ etResult.setText(str+btDivide.getText().toString()); } } }); /* * = 按钮 */ btDeng.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String str=etResult.getText().toString(); /*if(str.charAt(str.length()-1)=='0' && str.charAt(str.length()-2)=='/'){ Toast.makeText(CalculatorActivity.this, "除数不能为0!", Toast.LENGTH_LONG).show(); }else{ }*/ if(str.indexOf('+')>0){ Double num1=Double.parseDouble(str.substring(0, str.indexOf('+'))); Double num2=Double.parseDouble(str.substring(str.indexOf('+')+1)); Double result=num1+num2; etResult.setText(result.toString()); } else if(str.indexOf('-')>0){ Double num1=Double.parseDouble(str.substring(0, str.indexOf('-'))); Double num2=Double.parseDouble(str.substring(str.indexOf('-')+1)); Double result=num1-num2; etResult.setText(result.toString()); } else if(str.indexOf('*')>0){ Double num1=Double.parseDouble(str.substring(0, str.indexOf('*'))); Double num2=Double.parseDouble(str.substring(str.indexOf('*')+1)); Double result=num1*num2; etResult.setText(result.toString()); }else if(str.indexOf('/')>0){ Double num1=Double.parseDouble(str.substring(0, str.indexOf('/'))); Double num2=Double.parseDouble(str.substring(str.indexOf('/')+1)); if(num2==0){ Toast.makeText(CalculatorActivity.this, "除数不能为0!", Toast.LENGTH_LONG).show(); }else{ Double result=num1/num2; etResult.setText(result.toString()); } } } }); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值