问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android计算器,实现连续使用加号来操作数。

发布网友 发布时间:2022-07-29 05:31

我来回答

1个回答

热心网友 时间:2023-11-19 07:14

private void getResult() {

needclear = true;

String exp = et_showview.getText().toString();

double r = 0;

   int space = exp.indexOf(' ');//用于搜索空格位置

        String s1 = exp.substring(0, space);//s1用于保存第一个运算数

        String op = exp.substring(space + 1, space + 2);//op用于保存运算符

        String s2 = exp.substring(space + 3);//s2用于保存第二个运算数

        double arg1 = Double.parseDouble(s1);//将运算数从string转换为Single

        double arg2 = Double.parseDouble(s2);

        if(op.equals("+")){

        r = arg1 + arg2;

        }else if(op.equals("-")){

        r = arg1 - arg2;

        }else if(op.equals("×")){

        r = arg1 * arg2;

        }else if(op.equals("÷")){

        if (arg2 == 0)

             {

                r=0;

             }

             else

             {

                 r = arg1 / arg2;

             }

        }       

        if(!s1.contains(".")&&!s2.contains(".")){

        int result = (int)r;

        et_showview.setText(result+"");

        }else{

        et_showview.setText(r+"");

        }

}

//

///***

// * @param exp

// *            算数表达式

// * @return 根据表达式返回结果

// */

//private String getRs(String exp) {

//Interpreter bsh = new Interpreter();

//Number result = null;

//try {

//exp = filterExp(exp);

//result = (Number) bsh.eval(exp);

//} catch (EvalError e) {

//e.printStackTrace();

//return "0";

//}

//return result.doubleValue() + "";

//}

//

///**

// * @param exp

// *            算数表达式

// * @return 因为计算过程中,全程需要有小数参与.

// */

//private String filterExp(String exp) {

//String num[] = exp.split("");

//String temp = null;

//double dtemp = 0 ;

//String str_temp="";

//for (int i = 0; i < num.length; i++) {

//temp = num[i];

//

//if (temp.equals("+") || temp.equals("-") || temp.equals("×")

//|| temp.equals("÷")) {

//if(dtemp==0){

//dtemp=Double.parseDouble(str_temp);

//}

//

//str_temp="";

//}else{

//str_temp=str_temp+temp;

//}

//}

//

//int begin = 0, end = 0;

//for (int i = 1; i < num.length; i++) {

//temp = num[i];

//if (temp.matches("[+-/()*]")) {

//if (temp.equals("."))

//continue;

//end = i - 1;

//temp = exp.substring(begin, end);

//if (temp.trim().length() > 0 && temp.indexOf(".") < 0)

//num[i - 1] = num[i - 1] + ".0";

//begin = end + 1;

//}

//}

//return Arrays.toString(num).replaceAll("[\\[\\], ]", "");


声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
重磅|8月1日起 报关单的填法将重大改变 进出口权需要报关员么 宝宝被莫名的虫子咬了又红又肿又痒怎么? 北京疫情个为数是什么意思? 在做刀伤的手术时没有接上神经是医院的过错吗? 手术室收费项目有哪些 手术室的秘密:一台10万的手术,主刀医生拿多少?答案颠覆你的认知 阿里巴巴中修改产品信息只修改一小部分行吗?谢谢 可否给我一个阿里巴巴的序列号~谢谢了 阿里巴巴店铺产品搜索框代码谁有呢,给我发一下谢谢了! Android上有没有好用的金融计算器 以大肠杆菌菌株为出发菌株诱变,以葡萄糖为碳源,获得高产菌株,设计实验方案,跪求!!! 学习艺术设计专业的学生需要的英语书 元气骑士怎么挑到3-5并通关 福建高考数学要140很难吗 福建数学题 公元1421年永乐皇帝谁迁到北京 晒干玉米棒怎么吃 晒干玉米棒如何吃 王者荣耀安卓转苹果QQ微信同步转吗- 问一问 安卓qq王者荣耀怎么转到苹果微信- 问一问 奥迪Q5如何开启机盖? 文明6丧尸模式怎么开 怎么开文明6丧尸模式 我想看有关于改善人际关系的书、电影、电视作品。 我想看看有关:词句或者小短文静: 我想看一些有关心理学的说,但有不懂,希望大家能给推荐一下,那些书比较合适我这个阶段的。 我想看看有关于亲情的作文 2021初伏中伏末伏分别是多少天 初伏到末伏多少天2021 七匹狼下属品牌马克华菲衣服上的标有的是fair whale有的是 mark fairwhale,什么情况? 吴克羣的品牌DEBRAND中文叫什么 Excel中取消多选择的单元格 品质目标:客诉对策实施有效率100%,要做个表格是怎么统计呀? 泰康退保全国哪个店都可以吗 oppo手机怎么把年的属相显示出来,怎么把oppo手机里隐的东西弄出 日历如何看生肖,农历日历怎样查当日属什么生肖? 苹果手机怎么看日历上属相,苹果手机日历怎么查看农历 苹果手机怎么看日历属相 怎么看每天的属相,怎么查看每日是什么生肖日 每日的属相怎么查,每一天的属相怎么查? has ta la vista baby hasta la vista (西班牙语)是什么意思? 隔离七日情里的易先生说的“再见”是哪国语言? hasta la vista是什么意思 要发快递到香港,SF一定要写中文才能寄,谁能帮忙翻译一下4B 2 LA VISTA DI Hasta La Vista 是西班牙语吗 怎么念 怎么查不到 hasta la vista 后会有期怎么来的?hasta是什么 la是什么? 西班牙语 对方说 hasta la vista 求美国旧金山和洛杉矶这两个城市的人口种族比例 苹果12pro的型号号码都是一样吗 什么气冲冲? 明朝王震简介 王振简单介绍