吃透Android计算器代码(2)
来源:互联网 发布:js跳转页面 开新窗口 编辑:程序博客网 时间:2024/06/05 07:16
111
逻辑部分2:
*1:onClick(View 巴拉巴拉)
@Override public void onClick(View view){ switch (view.getId()){ //C & CE case R.id.buttonC: String myStr=textView.getText().toString(); try{ textView.setText(myStr.substring(0,myStr.length()-1)); }catch (Exception e){ textView.setText(""); } break; case R.id.buttonCE: textView.setText(null); break; //0~9 case R.id.button0: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString=textView.getText().toString(); myString+="0"; textView.setText(myString); break; case R.id.button1: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString1=textView.getText().toString(); myString1+="1"; textView.setText(myString1); break; case R.id.button2: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString2=textView.getText().toString(); myString2+="2"; textView.setText(myString2); break; case R.id.button3: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString3=textView.getText().toString(); myString3+="3"; textView.setText(myString3); break; case R.id.button4: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString4=textView.getText().toString(); myString4+="4"; textView.setText(myString4); break; case R.id.button5: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString5=textView.getText().toString(); myString5+="5"; textView.setText(myString5); break; case R.id.button6: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString6=textView.getText().toString(); myString6+="6"; textView.setText(myString6); break; case R.id.button7: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString7=textView.getText().toString(); myString7+="7"; textView.setText(myString7); break; case R.id.button8: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString8=textView.getText().toString(); myString8+="8"; textView.setText(myString8); break; case R.id.button9: if(isClickEqu) { textView.setText(null); isClickEqu=false; } String myString9=textView.getText().toString(); myString9+="9"; textView.setText(myString9); break; //+ - * / = case R.id.buttonJIA: String myStringJIA=textView.getText().toString(); if(myStringJIA.equals(null)) { return; } num1=Double.valueOf(myStringJIA); textView.setText(null); op=1; isClickEqu=false; break; case R.id.buttonJIAN: String myStringJIAN=textView.getText().toString(); if(myStringJIAN.equals(null)) { return; } num1=Double.valueOf(myStringJIAN); textView.setText(null); op=2; isClickEqu=false; break; case R.id.buttonCHENG: String myStringCHEN=textView.getText().toString(); if(myStringCHEN.equals(null)) { return; } num1=Double.valueOf(myStringCHEN); textView.setText(null); op=3; isClickEqu=false; break; case R.id.buttonCHU: String myStringCHU=textView.getText().toString(); if(myStringCHU.equals(null)) { return; } num1=Double.valueOf(myStringCHU); textView.setText(null); op=4; isClickEqu=false; break; case R.id.buttonDENGYU: String myStringDENGYU=textView.getText().toString(); if(myStringDENGYU.equals(null)) { return; } num2=Double.valueOf(myStringDENGYU); textView.setText(null); switch (op) { case 0: Result=num2; break; case 1: Result=num1+num2; break; case 2: Result=num1-num2; break; case 3: Result=num1*num2; break; case 4: Result=num1/num2; break; default: Result=0; break; } textView.setText(String.valueOf(Result)); isClickEqu=true; break; default: break; } }}
这段代码 使用了 switch case结构 case对应了计算器的每个按钮功能 把这些按钮的功能一一对应。
C功能;用try catch处理异常 可以说是这么写是比较逻辑缜密的写法
try{ textView.setText(myStr.substring(0,myStr.length()-1));}catch (Exception e){ textView.setText("");}关于substring函数的解释(就是获取长度)
sb.Substring(0, sb.Length - 1);这个是截取字符串的方法,后面第一个参数0代表,从字符串的第一个字符开始截取,后面一个参数sb.Length - 1代表截取的字符串长度,也就是从第一个字符截取到最后一个字符前一位。
0~9功能:
比较在意的是.getText().tostring的用法 在网上查的解释在这里
最佳答案:
这个方法是获取一个视图View对象里的字符串的方法的,比如你要验证一个Edittext里输入的是不是纯数字,就用这个方法来获取输入的字符串,然后进行验证
setText() 把以前的内容冲掉了,
append()在以前的内容后面添加。
这个区别应该很好理解。
如果原来字域的内容为空,则这两个方法的作用一样。
String myString=textView.getText().toString(); myString+="0"; textView.setText(myString); break;
总体来说根据代码套路就是这样的
用上述代码在一个文本框里加入文字
阅读全文
0 0
- 吃透Android计算器代码(2)
- 吃透Android计算器代码
- 吃透MVC,驯服烂代码
- Android仿计算器布局代码
- Android学习-计算器2
- 计算器(android)
- 计算器代码(未完善)
- 用Android仿计算器布局代码
- android studio 计算器代码 不能连续运算
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 活用帮助命令决定你的高度
- python : caesar cipher
- 史诗级崩盘。
- 从字符串中取出素数
- wps演示中在任务栏中显示所有窗口怎么设置
- 吃透Android计算器代码(2)
- 数据结构——二
- Meteor常用的命令
- QT中在QLabel显示图片并且利用鼠标点击画线
- Animation动画
- 解释性语言和编译性语言
- 通配符映射
- 蓝图构造函数ConstructionScript
- Linux日志管理