<?xml version="1.0" encoding="utf-8"?>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
android:layout_width="296px"
android:layout_height="60px"
android:background="#ffffffff"
android:text="0.0"
android:textSize="25sp"
android:textStyle="bold"
android:textColor="#ff333333"
android:layout_x="11dp"
android:layout_y="16dp"
android:gravity="right"
android:padding="2px"/>
<Button android:id="@+id/btn1"
android:layout_width="60px"
android:layout_height="60px"
android:text="1"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="15dp"
android:layout_y="85dp"
android:onClick="digital_click"/>
<Button android:id="@+id/btn2"
android:layout_width="60px"
android:layout_height="60px"
android:text="2"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="85dp"
android:layout_y="85dp"
android:onClick="digital_click"/>
<Button android:id="@+id/btn3"
android:layout_width="60px"
android:layout_height="60px"
android:text="3"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="155dp"
android:layout_y="85dp"
android:onClick="digital_click" />
<Button android:id="@+id/btnAdd"
android:layout_width="80px"
android:layout_height="60px"
android:text="+"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_x="225dp"
android:layout_y="85dp"
android:onClick="add" />
<Button android:id="@+id/btn4"
android:layout_width="60px"
android:layout_height="60px"
android:text="4"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="15dp"
android:layout_y="155dp"
android:onClick="digital_click" />
<Button android:id="@+id/btn5"
android:layout_width="60px"
android:layout_height="60px"
android:text="5"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="85dp"
android:layout_y="155dp"
android:onClick="digital_click" />
<Button android:id="@+id/btn6"
android:layout_width="60px"
android:layout_height="60px"
android:text="6"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="155dp"
android:layout_y="155dp"
android:onClick="digital_click" />
<Button android:id="@+id/btnsub"
android:layout_width="80px"
android:layout_height="60px"
android:text="-"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_x="225dp"
android:layout_y="155dp"
android:onClick="sub" />
<Button android:id="@+id/btn7"
android:layout_width="60px"
android:layout_height="60px"
android:text="7"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="15dp"
android:layout_y="225dp"
android:onClick="digital_click" />
<Button android:id="@+id/btn8"
android:layout_width="60px"
android:layout_height="60px"
android:text="8"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="85dp"
android:layout_y="225dp"
android:onClick="digital_click" />
<Button android:id="@+id/btn9"
android:layout_width="60px"
android:layout_height="60px"
android:text="9"
android:textSize="20sp"
android:background="#ff00ff99"
android:textStyle="bold"
android:gravity="center"
android:layout_x="155dp"
android:layout_y="225dp"
android:onClick="digital_click" />
<Button android:id="@+id/btnMul"
android:layout_width="80px"
android:layout_height="60px"
android:text="*"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_x="225dp"
android:layout_y="225dp"
android:onClick="mul" />
<Button android:id="@+id/btn0"
android:layout_width="130px"
android:layout_height="60px"
android:text="0"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_x="15dp"
android:layout_y="295dp"
android:onClick="digital_click" />
<Button android:id="@+id/btnpoint"
android:layout_width="60px"
android:layout_height="60px"
android:text="."
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_x="155dp"
android:layout_y="295dp"
android:onClick="point_click" />
<Button android:id="@+id/btnDiv"
android:layout_width="80px"
android:layout_height="60px"
android:text="/"
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_x="225dp"
android:layout_y="295dp"
android:onClick="div" />
<Button android:id="@+id/btndel"
android:layout_width="60px"
android:layout_height="60px"
android:text="DE>"
android:textSize="20sp"
android:textColor="#ffff3333"
android:textStyle="bold"
android:gravity="center"
android:layout_x="15dp"
android:layout_y="365dp"
android:onClick="del" />
<Button android:id="@+id/btnequ"
android:layout_width="220px"
android:layout_height="60px"
android:text="="
android:textSize="20sp"
android:textStyle="bold"
android:gravity="center"
android:layout_x="85dp"
android:layout_y="365dp"
android:onClick="equ" />
package com.example.jishuanqi;
import java.text.NumberFormat;
import java.util.Formatter;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
//第一个输入的数据
double a=0;
//记录第一次输入的符号
char b='+';
StringBuffer c=new StringBuffer();//得到textview中的数据
boolean d=false;//第一个数据是否是小数点
TextView txtResult;//输出结果
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtResult=(TextView)findViewById(R.id.txtResult);
}
/*
* 对数据进行初始化
* (non-Javadoc)
* @see android.app.Activity#onCreateOptionsMenu(android.view.Menu)
*/
public void init(){
c.delete(0, c.length());//设置当前textView中的值为0
d=false;
}
//将输入的数据转换成double类型
public double stringToDouble(){
if(c.length()==0){
//如果没有输入的数据
return 0;
}
double result=Double.parseDouble(c.toString());
return result;
}
//进行计算处理
public double calcu(){
double result=0;
switch(b){
case '+':
result=a+stringToDouble();
break;
case '-':
result=a-stringToDouble();
break;
case '*':
result=a*stringToDouble();
break;
case '/':
result=a/stringToDouble();
break;
}
//对小数点后的数据进行格式化
NumberFormat format=NumberFormat.getInstance();
format.setMaximumFractionDigits(2);
result=Double.parseDouble(format.format(result));
return result;
}
//显示数据
public void display(){
txtResult.setText(c.toString());
}
//处理数据按钮的点击
public void digital_click(View view){
Button btnDigital=(Button) view;
char text=btnDigital.getText().charAt(0);
c.append(text);
display();
}
//处理 加法
public void add(View view){
double result=calcu();
txtResult.setText(String.valueOf(result));
a=result;
b='+';
init();
}
//处理减法
public void sub(View view){
double result=calcu();
txtResult.setText(String.valueOf(result));
a=result;
b='-';
init();
}
//处理乘法
public void mul(View view){
double result=calcu();
txtResult.setText(String.valueOf(result));
a=result;
b='*';
init();
}
//处理除法
public void div(View view){
double result=calcu();
txtResult.setText(String.valueOf(result));
a=result;
b='/';
init();
}
//处理等于
public void equ(View view){
double result=calcu();
txtResult.setText(String.valueOf(result));
a=result;
b='=';
init();
}
//处理小数点
public void point_click(View view){
if(d){
//当一个数据为小数点时程序返回
return;
}
if(c.length()==0){
//当没有输入的数据时返回
return;
}
Button btnPoint=(Button) view;
char text=btnPoint.getText().charAt(0);
c.append(text);
d=true;
display();
}
//处理删除数据
public void del(View view){
if(c.length()>=1){
c.delete(c.length()-1, c.length());
}
if(c.length()==0){
init();
display();
}
txtResult.setText(c);
}
}