终于做了第一个可以用的~~~计算器 为自己鼓掌
2016-03-07 20:55
211 查看
很简单 老规矩先把代码贴上来
是指对象中包含了空格
这个.subsyring(a,b)是指去字符串的第几个到第几个 indexOf()是获取到第一个“ ”
强制转换啦
确实感觉自己java底子很差 所以都记下来 不能嫌烦燥
当然布局代码昨天就已经贴出来了 今天按照自己iphone的布局稍微修改了一下 确实好看多了 呼呼呼
毕竟是做的第一个可以用的 成就感爆棚呀
package com.example.admin.test_0306_2; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity implements View.OnClickListener{ private Button button_0; private Button button_1; private Button button_2; private Button button_3; private Button button_4; private Button button_5; private Button button_6; private Button button_7; private Button button_8; private Button button_9; private Button button_c; private Button button_del; private Button button_jia; private Button button_jian; private Button button_cheng; private Button button_chu; private Button button_equal; private Button button_point; private EditText editText; Boolean flag_clear; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button_0= (Button) findViewById(R.id.button_0); button_1= (Button) findViewById(R.id.button_1); button_2= (Button) findViewById(R.id.button_2); button_3= (Button) findViewById(R.id.button_3); button_4= (Button) findViewById(R.id.button_4); button_5= (Button) findViewById(R.id.button_5); button_6= (Button) findViewById(R.id.button_6); button_7= (Button) findViewById(R.id.button_7); button_8= (Button) findViewById(R.id.button_8); button_9= (Button) findViewById(R.id.button_9); button_c= (Button) findViewById(R.id.button_c); button_del= (Button) findViewById(R.id.button_del); button_cheng= (Button) findViewById(R.id.button_cheng); button_chu= (Button) findViewById(R.id.button_chu); button_jia= (Button) findViewById(R.id.button_jia); button_jian= (Button) findViewById(R.id.button_jian); button_equal= (Button) findViewById(R.id.button_equal); button_point= (Button) findViewById(R.id.button_point); editText= (EditText) findViewById(R.id.input); flag_clear=false; button_0.setOnClickListener(this); button_1.setOnClickListener(this); button_2.setOnClickListener(this); button_3.setOnClickListener(this); button_4.setOnClickListener(this); button_5.setOnClickListener(this); button_6.setOnClickListener(this); button_7.setOnClickListener(this); button_8.setOnClickListener(this); button_9.setOnClickListener(this); button_c.setOnClickListener(this); button_del.setOnClickListener(this); button_cheng.setOnClickListener(this); button_chu.setOnClickListener(this); button_jia.setOnClickListener(this); button_jian.setOnClickListener(this); button_equal.setOnClickListener(this); button_point.setOnClickListener(this); } @Override public void onClick(View v) { String str=editText.getText().toString(); switch (v.getId()){ case R.id.button_0: case R.id.button_1: case R.id.button_2: case R.id.button_3: case R.id.button_4: case R.id.button_5: case R.id.button_6: case R.id.button_7: case R.id.button_8: case R.id.button_9: case R.id.button_point: if(flag_clear){ flag_clear=false; str=""; editText.setText(""); } editText.setText(str+((Button)v).getText()); break; case R.id.button_jia: case R.id.button_jian: case R.id.button_cheng: case R.id.button_chu: if(flag_clear){ flag_clear=false; str=""; editText.setText(""); } editText.setText(str+" "+((Button)v).getText()+" "); break; case R.id.button_c: flag_clear=false; str=""; editText.setText(""); break; case R.id.button_del: if(flag_clear){ flag_clear=false; str=""; editText.setText(""); }else if(str!=null&&!str.equals("")){ editText.setText(str.substring(0,str.length()-1)); break; } case R.id.button_equal: getresult(); break; } } private void getresult(){ String exp=editText.getText().toString(); if(exp==null||exp.equals("")){ return; } if(!exp.contains(" ")){ return; } if(flag_clear){ flag_clear=false; return; } flag_clear=true; double result=0; String s1=exp.substring(0,exp.indexOf(" ")); String op=exp.substring(exp.indexOf(" ") + 1, exp.indexOf(" ") + 2); String s2=exp.substring(exp.indexOf(" ") + 3); if(!s1.equals("")&&!s2.equals("")){ 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; editText.setText(r+""); }else{ editText.setText(result+""); } }else if (!s1.equals("")&&s2.equals("")){ editText.setText(exp); }else if (s1.equals("")&&!s2.equals("")){ 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("÷")){ if(d2==0){ result=0; } } if(!s2.contains(".")){ int r=(int)result; editText.setText(r+""); }else{ editText.setText(result+""); } }else{ editText.setText(""); } } }其中有几个知识点 记一下
.contains(" ")
是指对象中包含了空格
String s1=exp.substring(0,exp.indexOf(" ")); String op=exp.substring(exp.indexOf(" ") + 1, exp.indexOf(" ") + 2); String s2=exp.substring(exp.indexOf(" ") + 3);
这个.subsyring(a,b)是指去字符串的第几个到第几个 indexOf()是获取到第一个“ ”
Double.parseDouble(s1)
强制转换啦
确实感觉自己java底子很差 所以都记下来 不能嫌烦燥
当然布局代码昨天就已经贴出来了 今天按照自己iphone的布局稍微修改了一下 确实好看多了 呼呼呼
毕竟是做的第一个可以用的 成就感爆棚呀
相关文章推荐
- linux输入子系统--按键驱动
- Android Studio导入github下载的project和module的正确姿势
- 蓝桥杯:Sine之舞
- 【转】Java中如何遍历Map对象的4种方法
- 0.计算机构造篇
- 3.4 java基础总结①常用类String②Stringbuffer③Stringbuilder
- Git 回滚
- 常用java正则表达式
- Android群英传(2)——Android四大组件五大布局
- 最大公约数和最小公倍数
- 转义字符
- 写一个简单的按钮集合
- Linux 发展史小览
- 还记得高中的向量吗?leetcode 335. Self Crossing(判断线段相交)
- 3.3 java基础总结①异常②自定义异常
- ubuntu中各个版本java的安装
- 【bzoj1193】【HNOI2006】【马步距离】【贪心+bfs】
- Spring定时器的简单使用
- 如何只用CSS做到完全居中
- 53.VC(Custom)-vs项目依赖项