计算器的逻辑
来源:互联网 发布:淘宝自己退货率怎么看 编辑:程序博客网 时间:2024/06/05 14:53
很早以前刚学编程的时候也写过计算器 代码之复杂..令人发寒
然后今日从慕课网上看来的逻辑 就跟着学了学 感觉还不错
@Override public void onClick(View v) { String str = et.getText().toString(); switch (v.getId()) { case R.id.cdl_content: //普通1-9 +0 if(clear_flag){ clear_flag=false; //clean str=""; et.setText(""); } et.setText(str + button.getText().toString()); //运算符加减乘除 et.setText(str + " " + button.getText().toString() + " "); //clean clear_flag=false; str=""; et.setText(""); //删除 if(clear_flag){ clear_flag=false; str=""; et.setText(""); }else if (!TextUtils.isEmpty(str)) { et.setText(str.substring(0, str.length() - 1)); } //等于号 getResult(); break; } } //单独运算结果 public void getResult() {if(clear_flag){ clear_flag=false; return;} clear_flag=true; String exp = et.getText().toString(); if (TextUtils.isEmpty(exp)) { return; } if (!exp.contains(" ")) { return; } //运算符前面的字符串 String s1 = exp.substring(0, exp.indexOf(" ")); //运算符号 String op = exp.substring(exp.indexOf(" ") + 1, exp.indexOf(" ") + 2); //运算符后面的字符串 String s2 = exp.substring(exp.indexOf(" ") + 3); double result = 0; if (s1 != null && s2 != null) { double d1 = Double.parseDouble(s1); double d2 = Double.parseDouble(s2); if (op.equals("+")) { result = d1 + d2; } else if (op.equals("-")) { result = d1 - d2; } else if (op.equals("*")) { result = d1 * d2; } else if (op.equals("/")) { if (d2 == 0) { result = 0; } else { result = d1 / d2; } } if (!s1.contains(".") && !s2.contains(".")&&!op.equals("/")) { int r = (int) result; et.setText(r + " "); } else { et.setText(result + ""); } } else if (!s1.equals("") && s2.equals("")) { et.setText(exp); } else if (s1.equals("") && !s2.equals("")) { double d1 = Double.parseDouble(s1); double d2 = Double.parseDouble(s2); if (op.equals("+")) { result = 0 + d2; } else if (op.equals("-")) { result = 0 - d2; } else if (op.equals("*")) { result = 0; } else if (op.equals("/")) { result=0; } et.setText(result+""); }else { //都为空 et.setText(""); } }
大家想学习的话可以点击慕课网视频教学
阅读全文
0 0
- 计算器的逻辑
- iOS 简单的计算器(个人觉得很不错的逻辑)
- 简单逻辑实现一个计算器,没有用到树的知识
- SuiShenJi项目_计算器逻辑
- 【代码向】简易计算器逻辑
- Android实训案例(一)——计算器的运算逻辑
- Android实训案例(一)——计算器的运算逻辑
- Android实训案例(一)——计算器的运算逻辑
- 计算器后台逻辑实现——表达式分析器
- android 计算器 开发 很郁闷的计算器
- 计算器原代码的问题
- 简单的四则计算器
- 好玩的人品计算器
- java编写的计算器
- java编写的计算器
- 简单的计算器程序
- 计算器的实现
- 简单的java计算器
- 【Java并发编程】Thread.sleep,暂停程序执行
- LPC 简单应用长消息
- 文件用两次异或加密
- 静态的应用
- 在控制台录入文件的路径,将文件拷贝到当前项目下
- 计算器的逻辑
- 将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出
- leetcode -- 445. Add Two Numbers II 【栈 + 正整数相加】
- 一定要认真的读完,码
- 字符流的输入输出
- 字符复制
- 1. Two Sum
- eventfd 函数使用介绍
- 架构师的面面观(访谈)