Android简单计算器(已消除常见bug)
来源:互联网 发布:数据清洗与etl 编辑:程序博客网 时间:2024/06/06 09:05
xml文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="right" android:height="40dp" android:textSize="30sp" /> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:stretchColumns="*" > <TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/btn_cle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="2" android:onClick="onClick" android:text="CLEAR" /> <Button android:id="@+id/btn_del" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_span="2" android:onClick="onClick" android:text="☜" /> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="match_parent" android:layout_height="wrap_content" > <Button android:id="@+id/btn_7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="7" /> <Button android:id="@+id/btn_8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="8" /> <Button android:id="@+id/btn_9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="9" /> <Button android:id="@+id/btn_div" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="÷" /> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:id="@+id/btn_4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="4" /> <Button android:id="@+id/btn_5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="5" /> <Button android:id="@+id/btn_6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="6" /> <Button android:id="@+id/btn_mul" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="×" /> </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:id="@+id/btn_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="1" /> <Button android:id="@+id/btn_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="2" /> <Button android:id="@+id/btn_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="3" /> <Button android:id="@+id/btn_sub" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="-" /> </TableRow> <TableRow android:id="@+id/tableRow5" android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:id="@+id/btn_point" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="." /> <Button android:id="@+id/btn_0" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="0" /> <Button android:id="@+id/btn_equ" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="=" /> <Button android:id="@+id/btn_add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="+" /> </TableRow> </TableLayout></LinearLayout>
java文件:
package com.next.calculator1;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {private TextView textView;private String str,num1,num2;private double result;private boolean addNum;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView = (TextView) findViewById(R.id.textView);addNum = true;}public void onClick(View v){str = (String) textView.getText();switch (v.getId()) {case R.id.btn_cle:textView.setText("");break;case R.id.btn_del:if(!str.equals("") && str != null){textView.setText(str.substring(0, str.length()-1));}break;case R.id.btn_equ:if(str.contains("+")){getResult(num1, num2, "+");}else if(str.contains("-")){getResult(num1, num2, "-");}else if(str.contains("×")){getResult(num1, num2, "×");}else if(str.contains("÷")){getResult(num1, num2, "÷");}else {return;}break;case R.id.btn_add:case R.id.btn_sub:case R.id.btn_mul:case R.id.btn_div:if (str.contains("+")||str.contains("-")||str.contains("×")||str.contains("÷"))return;elsetextView.setText(str+((Button)v).getText());if(!addNum)addNum = true;break;default:if (addNum) {textView.setText(str+((Button)v).getText());}else{textView.setText(((Button)v).getText());addNum = true;}break;}}private void getResult(String num1,String num2,String op) {num1 = str.substring(0,str.indexOf(op));num2 = str.substring(str.indexOf(op)+1);try {double n1 = Double.parseDouble(num1);double n2 = Double.parseDouble(num2);if (op.equals("+")) {result = n1+n2;}else if(op.equals("-")){result = n1-n2;}else if(op.equals("×")){result = n1*n2;}else if(op.equals("÷")){result = n1/n2;}else {return;}String r = result+"";if(r.contains(".")&&r.substring(r.length()-1).equals("0")){r = r.substring(0,r.indexOf("."));}textView.setText(r);addNum = false;} catch (Exception e) {return;}}}
0 1
- Android简单计算器(已消除常见bug)
- 最少代码实现Android简单计算器(已经消除常见bug)
- 九度OnlineJudge-简单计算器(1019)代码,已AC
- 简单android计算器 android学习(一)
- android常见bug汇总
- android NDK_常见BUG
- android常见bug解决方法
- Android Studio常见bug
- Android 常见bug汇总
- Android常见bug
- android studio常见bug
- 2013-11-10 实验之剪格子游戏(数字分组思想)bug已消除版本见2013-11-24
- Android基础知识(简单实例计算器)
- 简单的android计算器
- android简单计算器
- android简单计算器
- Android简单计算器
- android简单计算器
- 从校园到工作的路(三)——那些java中的常见异常与错误
- Tomcat
- Linux应用环境实战09:在Ubuntu 14中使用搜狗拼音输入法
- 视频监控APP总结
- 实现函数 doubule Power(double base, int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题
- Android简单计算器(已消除常见bug)
- 快速排序
- iOS开发证书
- Can a local variable's memory be accessed outside its scope?
- 预先创建线程池的服务器程序
- poj 3009 DFS
- ACM/IOI 历年国家集训队论文集和论文算法分类整理
- Android网络部分学习指南
- Android事件分发机制完全解析