android 字符串相减,android计算器实现两位数的加减乘除

本文实例为大家分享了android计算器实现加减乘除的具体代码,供大家参考,具体内容如下

注:以下计算器只注重实现功能,不考虑其他BUG,只有两位整数的算法运算,适合新手

1、实现思想

将从键盘得到的数值放在一个字符数组中,以运算符号(+-/)为分割点,将两个数值分割开,进行算法运算。*

2、难点

如何判断是否为符号?+ - ×/

记录符号的位置?

3、步骤:

1、得到键盘输入的值

2、将值存放在一个字符数组中

3、遍历数组中的每个数,如果找到算法符号,记录下算法符号的位置。(要点,从0开始)

4、将算法符号前面的数放在一个定义的int型数中

5、同理

6、判断是加减乘除的哪一个方法,然后进行简单的运算。

4、代码

i:布局:

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:weightSum="1"

>

android:layout_height="wrap_content"

android:id="@+id/etResult"

android:layout_weight="0.05"

android:textSize="25dp"

android:paddingTop="10dp"

android:gravity="bottom"

android:hint="0.0"

/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:layout_weight="0.8">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal"

android:weightSum="1">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="C"

android:textSize="25dp"

android:background="@color/colorWhite"

android:id="@+id/btnQingchu"

android:layout_weight="0.5" />

android:layout_width="235dp"

android:layout_height="wrap_content"

android:text="←"

android:textSize="25dp"

android:background="@color/colorBlue"

android:id="@+id/btnHuishan"

android:layout_weight="0.5"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn7"

android:text="7"

android:textSize="25dp"

android:layout_weight="0.25"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn8"

android:text="8"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn9"

android:text="9"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btnChu"

android:text="÷"

android:textSize="25dp"

android:background="@color/colorBlue"

android:layout_weight="0.25"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn4"

android:text="4"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn5"

android:text="5"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn6"

android:text="6"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btnCheng"

android:text="×"

android:textSize="25dp"

android:background="@color/colorBlue"

android:layout_weight="0.25"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn1"

android:text="1"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn2"

android:text="2"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn3"

android:text="3"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btnJian"

android:text="-"

android:textSize="25dp"

android:background="@color/colorBlue"

android:layout_weight="0.25"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btn0"

android:text="0"

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btnDian"

android:text="."

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btnDengyu"

android:text="="

android:textSize="25dp"

android:layout_weight="0.25"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/btnJia"

android:text="+"

android:textSize="25dp"

android:background="@color/colorBlue"

android:layout_weight="0.25"/>

ii:获取键盘的值,写监听

public void getButton(){

//获取按钮组件

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);

btnJia= (Button) findViewById(R.id.btnJia);

btnJian= (Button) findViewById(R.id.btnJian);

btnCheng= (Button) findViewById(R.id.btnCheng);

btnChu= (Button) findViewById(R.id.btnChu);

btnDian= (Button) findViewById(R.id.btnDian);

btnDengyu= (Button) findViewById(R.id.btnDengyu);

btnQingchu= (Button) findViewById(R.id.btnQingchu);

btnHuishan= (Button) findViewById(R.id.btnHuishan);

etGet = (TextView) findViewById(R.id.etResult);

//绑定监听

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);

btnJia.setOnClickListener(this);

btnJian.setOnClickListener(this);

btnCheng.setOnClickListener(this);

btnChu.setOnClickListener(this);

btnDian.setOnClickListener(this);

btnDengyu.setOnClickListener(this);

btnQingchu.setOnClickListener(this);

btnHuishan.setOnClickListener(this);

}

iii:绑定按钮

@Override

public void onClick(View v) {

str = etGet.getText().toString();

switch (v.getId()){

//数字按钮

case R.id.btn0:

case R.id.btn1:

case R.id.btn2:

case R.id.btn3:

case R.id.btn4:

case R.id.btn5:

case R.id.btn6:

case R.id.btn7:

case R.id.btn8:

case R.id.btn9:

/* if (b_Clean)

{

b_Clean =false;

etGet.setText("");

}*/

etGet.setText(str+((Button)v).getText());

break;

//运算按钮

case R.id.btnJia:

case R.id.btnJian:

case R.id.btnCheng:

case R.id.btnChu:

case R.id.btnDian:

/* if (b_Clean)

{

b_Clean =false;

etGet.setText("");

}*/

etGet.setText(str+((Button)v).getText());

break;

//清除按钮

case R.id.btnQingchu:

/* if (b_Clean)

{

b_Clean =false;

etGet.setText("");

}*/

etGet.setText("");

break;

case R.id.btnDengyu:

getResult();

break;

case R.id.btnHuishan:

str=etGet.getText().toString();

try {

etGet.setText(str.substring(0,str.length()-1));

}

catch (Exception e){

etGet.setText("");

}

break;

}

}

iV:算法功能实现

public void getResult(){

str = etGet.getText().toString();

strArray = new String[str.length()]; //将得到的字符串放在一个字符数组里

//System.out.println("str"+str);

int n=0;

for(int i=0; i

strArray[i] = str.substring(i, i+1); //遍历数组的每个元素

//System.out.print(strArray[i]);

if(strArray[i].equals("+")||strArray[i].equals("-") //满足条件

||strArray[i].equals("×")||strArray[i].equals("÷"))

{

n= i; //记录符号存在的位置

}

}

int num1 = Integer.parseInt(str.substring(0,n)); //得到前一串数

String caculate = str.substring(n,n+1); //得到算法符号,加减乘除

int num2 = Integer.parseInt(str.substring(n+1)); //得到后一串数

if (caculate.equals("+"))

{

Inputresult = num1+num2;

}

else if (caculate.equals("-"))

{

Inputresult = num1-num2;

}

else if (caculate.equals("×"))

{

Inputresult = num1*num2;

}

else if (caculate.equals("÷"))

{

if (num2==0)

{

return ;

}

Inputresult = num1/num2;

}

etGet.setText(num1+caculate+num2+"="+Inputresult);

}

更多计算器功能实现,请点击专题: 计算器功能汇总 进行学习

关于Android计算器功能的实现,查看专题:Android计算器 进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值