1、判断是否满足,若满足则迭代停止;若不满足,则执行步骤1.基于android的简单计算器1、界面截图2、布局文件总体是一个LinearLayout布局,每一行的按钮也使用了此布局。当然,每一行也可以在TableLayout里使用TableRow。虽然使用其他布局可能会简洁点,不过我个人喜欢使用LinearLayout布局。 LinearLayout paddingRight=5dppaddingLeft=horizontalButton +id/button_bk0dpBKlayout_weight=1+id/button_ceCE+id/button_cC/LinearLayout+id/bu
2、tton_mcMC+id/button_77+id/button_88+id/button_99+id/button_div/+id/button_mrMR+id/button_44+id/button_55+id/button_66+id/button_multi*+id/button_msMS+id/button_1+id/button_22+id/button_33+id/button_minus-+id/button_sign+/-+id/button_equal=+id/button_0+id/button_dot.+id/button_plus+TextView +id/tv_tm
3、pcolor/pinkMemory=/+id/tv_memcolor/sliver- 显示记忆数据 -布局文件中在TextView和EditText中使用的Color要在strings.xml中定义。resourcesstring name=app_nameCalculatorhello_worldHello world!menu_settingsSettingstitle_activity_my_calculatorMyCalculator color name=pink#ffc0cbsliver#c0c0c03、java代码:各种组件的使用在代码里都有明确说明,在此不再说明。package
4、 com.example.calculator;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MyCalculator extends Activit
5、y double op1=0,op2=0;/记录两次输入的值 char operation;/记录运算符 EditText input;/输入文本框 boolean isInputChar=false;/判断是否输入了运算符 TextView memory;/记忆文本 Button plus,minus,multi,divide,equal;/运算符 Button back,clean,cleanAll;/文本数据处理(回退、本次输 /入清零、所有输入清零) Button mclean,mread,msave;/数据记忆(清除、读取、保存) Button btn=new Button10;/数
6、字 Button dot;/点 Button sign;/正负数转换 Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_calculator); input=(EditText)findViewById(R.id.et_input); memory=(TextView)findViewById(R.id.tv_mem); /运算符 plus=(Button)findViewById(R.i
7、d.button_plus); minus=(Button)findViewById(R.id.button_minus); multi=(Button)findViewById(R.id.button_multi); divide=(Button)findViewById(R.id.button_div); equal=(Button)findViewById(R.id.button_equal); /设置点击监听 plus.setOnClickListener(listener); minus.setOnClickListener(listener); multi.setOnClickLi
8、stener(listener); divide.setOnClickListener(listener); equal.setOnClickListener(listener); /记忆 back=(Button)findViewById(R.id.button_bk); clean=(Button)findViewById(R.id.button_ce); cleanAll=(Button)findViewById(R.id.button_c); back.setOnClickListener(listener); clean.setOnClickListener(listener); c
9、leanAll.setOnClickListener(listener); /数据记忆 mclean=(Button)findViewById(R.id.button_mc); mread=(Button)findViewById(R.id.button_mr); msave=(Button)findViewById(R.id.button_ms); mclean.setOnClickListener(listener); mread.setOnClickListener(listener); msave.setOnClickListener(listener); /数字 btn0=(Butt
10、on)findViewById(R.id.button_0); btn1=(Button)findViewById(R.id.button_1); btn2=(Button)findViewById(R.id.button_2); btn3=(Button)findViewById(R.id.button_3); btn4=(Button)findViewById(R.id.button_4); btn5=(Button)findViewById(R.id.button_5); btn6=(Button)findViewById(R.id.button_6); btn7=(Button)fin
11、dViewById(R.id.button_7); btn8=(Button)findViewById(R.id.button_8); btn9=(Button)findViewById(R.id.button_9); for(int i=0;i1) input.setText(inputText.substring(0, inputText.length()-1); else if(inputText.length()=1) input.setText(); if(input.getText().toString().compareTo()=0)/去除负号 break; case R.id.button_ce:/此次输入清零 input.setText( if(isInputChar) op2=0; else op1=0; case R.id.button_c:/全部清零,重新计算 op1=0; op2=0; isInputChar=false; case R.id.button_mc:/清空记忆数据 memory.setText(
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2