900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > android简易计算器

android简易计算器

时间:2020-06-04 21:36:39

相关推荐

android简易计算器

android简易计算器

说明:完成简易版计算器,能够实现基本的加、减、乘、除运算

图示:

布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:background="#3E3E3E"xmlns:android="/apk/res/android"><EditTextandroid:id="@+id/tv"android:textColor="#d6d7d7"android:layout_gravity="center"android:layout_width="300dp"android:layout_height="80dp" /><LinearLayoutandroid:paddingLeft="50dp"android:paddingRight="50dp"android:layout_width="match_parent"android:layout_height="50dp"android:orientation="horizontal"android:gravity="center"><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn7"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="7" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn8"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="8" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn9"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="9" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btnPlus"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="+" /></LinearLayout><LinearLayoutandroid:paddingLeft="50dp"android:paddingRight="50dp"android:layout_width="match_parent"android:layout_height="50dp"android:orientation="horizontal"android:gravity="center"><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="4" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn5"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="5" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn6"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="6" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btnSub"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="-" /></LinearLayout><LinearLayoutandroid:paddingLeft="50dp"android:paddingRight="50dp"android:layout_width="match_parent"android:layout_height="50dp"android:orientation="horizontal"android:gravity="center"><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="1" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="2" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="3" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btnMul"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="*" /></LinearLayout><LinearLayoutandroid:paddingLeft="50dp"android:paddingRight="50dp"android:layout_width="match_parent"android:layout_height="50dp"android:orientation="horizontal"android:gravity="center"><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btn0"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="0" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btnC"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="C" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btnEqual"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="=" /><Buttonandroid:onClick="cal"android:layout_weight="1"android:id="@+id/btnDiv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="/" /></LinearLayout></LinearLayout>

main文件

初始化文本框和其他控件

private TextView tv;private int option = 0;//运算符状态private boolean newdigital = true;//标记是否有新输入的数字private double a=0,b=0;

在oncreate中对方法进行初始化

tv = (TextView) findViewById(R.id.tv);

创建按钮点击事件

创建每个按钮的点击事件 cal(),通过判断每个按钮的字符串进行相应的处理,如果点击的按钮是数字键,则在文本框中显示新的数据,如果是操作符,则进行相应的加、减、 乘、除运算。

public void cal(View v) {String s = tv.getText().toString();Button btn = (Button) v;String t = (String) btn.getText();if (btn.getId() == R.id.btn0 || btn.getId() == R.id.btn1|| btn.getId() == R.id.btn2 || btn.getId() ==R.id.btn3|| btn.getId() == R.id.btn4 || btn.getId() ==R.id.btn5|| btn.getId() == R.id.btn6 || btn.getId() ==R.id.btn7|| btn.getId() == R.id.btn8 || btn.getId() ==R.id.btn9) {if (newdigital) {tv.setText(s+t);} else {tv.setText(s);newdigital = false;}return;}if (btn.getId() == R.id.btnPlus) {a = Double.parseDouble(s);option = 1;tv.setText("");return;}if (btn.getId() == R.id.btnSub) {a = Double.parseDouble(s);option = 2;tv.setText("");return;}if (btn.getId() == R.id.btnMul) {a = Double.parseDouble(s);option = 3;tv.setText("");return;}if (btn.getId() == R.id.btnDiv) {a = Double.parseDouble(s);option = 4;tv.setText("");return;}if (btn.getId() == R.id.btnC) {a = 0;b = 0;option = 0;newdigital = true;tv.setText("");return;}if (btn.getId() == R.id.btnEqual) {b = Double.parseDouble(s);switch (option) {case 1:tv.setText(String.valueOf(a + b));break;case 2:tv.setText(String.valueOf(a - b));break;case 3:tv.setText(String.valueOf(a * b));break;case 4: {if (b != 0) {tv.setText(String.valueOf(a / b));} else {Toast.makeText(MainActivity.this, "除数不能为0! ", Toast.LENGTH_SHORT).show();tv.setText("");a = 0;b = 0;option = 0;newdigital = true;return;}break;}case 5:tv.setText(String.valueOf(Math.pow(a, b)));break;}return;}}

如上,写下来之后就可以实现计算器的功能啦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。