终于做了第一个可以用的~~~计算器 为自己鼓掌
来源:互联网 发布:dota2赌博软件 编辑:程序博客网 时间:2024/04/27 08:57
很简单 老规矩先把代码贴上来
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的布局稍微修改了一下 确实好看多了 呼呼呼
毕竟是做的第一个可以用的 成就感爆棚呀
0 0
- 终于做了第一个可以用的~~~计算器 为自己鼓掌
- 终于可以用自己的电脑了
- 我的第一个servlet程序终于可以运行了
- 终于申请了自己的第一个国内BLOG。
- 自己的第一个商业项目终于要结束了
- 终于发布了自己的第一个网站
- 自己用C#做的第一个程序 —— 计算器
- 终于可以踏踏实实的做开发了
- 注册了自己的第一个blog,终于有了一个自己的家。
- 终于可以发表自己的文章了!
- 今天终于完善了自己做的计算器的功能,剩下的就是对意外事件的处理了
- 终于有了第一个自己的blog
- 终于有了自己的第一个blog!
- 终于自己学会做一个简单的人事管理系统软件了,做个纪念
- 自己做了个移动查话费的东西,大家可以下来用!
- C#初学者—— 终于写出了自己第一个比较满意的程序
- 终于可以做开发了
- 今天我终于在自己用MFC做出了计算器
- 深度学习入门:Fully Convolutional Networks for Semantic Segmentation
- 做产品分析时,问清楚这 60 个问题
- Java8 十大新特性
- 如何在caffe中自定义网络层
- Android Studio导入github下载的project和module的正确姿势
- 终于做了第一个可以用的~~~计算器 为自己鼓掌
- C++中多线程的加锁机制
- Symbols in LaTeX
- 关于C++的问题
- 简化MongoAPI(spring-data-mongo)第一部分
- 正则表达式口诀
- 改变文件访问权限
- [Java开发之路](18)关于Class.getResource和ClassLoader.getResource的路径问题
- Quartz2D - 图片截取