计算器(android)
来源:互联网 发布:ae cc 2015 for mac 编辑:程序博客网 时间:2024/05/06 07:29
对计算器的一些说明:
此计算器比较简陋,可以实现加减乘除这些运算,并能实现连续运算。对小数运算进行了优化了,避免了小数在计算时出现误差。
主界面:
calculator的main_activity.java;
import android.R.string;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {TextView tv=null;private double number_one=0.0,number_two=0.0;String arithmetic1=" ",arithmetic2=" ";private Button button_zone;private Button button_one;private Button button_two;private Button button_three;private Button button_four;private Button button_five;private Button button_six;private Button button_seven;private Button button_eight;private Button button_nine;private Button button_clean;private Button button_equate;private Button button_tiny;private Button button_addition;private Button button_subtraction;private Button button_multiplication;private Button button_division;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button_zone=(Button)findViewById(R.id.But_zo);button_one=(Button)findViewById(R.id.But_on);button_two=(Button)findViewById(R.id.But_tw);button_three=(Button)findViewById(R.id.But_th);button_four=(Button)findViewById(R.id.But_fo);button_five=(Button)findViewById(R.id.But_fi);button_six=(Button)findViewById(R.id.But_si);button_seven=(Button)findViewById(R.id.But_se);button_eight=(Button)findViewById(R.id.But_ei);button_nine=(Button)findViewById(R.id.But_ni);button_equate =(Button)findViewById(R.id.But_eq);button_tiny =(Button)findViewById(R.id.But_ti);button_addition=(Button)findViewById(R.id.But_ad);button_subtraction=(Button)findViewById(R.id.But_su);button_multiplication=(Button)findViewById(R.id.But_mu); button_division=(Button)findViewById(R.id.But_di); button_clean=(Button)findViewById(R.id.But_cl);tv = (TextView)findViewById(R.id.ed_tv);button_equate.setOnClickListener (Listener);button_tiny.setOnClickListener (Listener);button_addition.setOnClickListener (Listener);button_subtraction.setOnClickListener(Listener);button_multiplication.setOnClickListener(Listener);button_division.setOnClickListener(Listener);button_five.setOnClickListener(Listener);button_five.setOnClickListener(Listener);button_zone.setOnClickListener(Listener);button_one.setOnClickListener (Listener);button_two.setOnClickListener(Listener);button_three.setOnClickListener(Listener);button_four.setOnClickListener(Listener);button_five.setOnClickListener(Listener);button_six.setOnClickListener(Listener);button_seven.setOnClickListener(Listener);button_eight.setOnClickListener(Listener);button_nine.setOnClickListener(Listener);button_clean.setOnClickListener(Listener);} public OnClickListener Listener = new OnClickListener() {public void onClick(View v) {Button btn=(Button)v;switch ( btn.getId() ) { case R.id.But_zo:if (arithmetic2.equals("=")) {clean();}tv_changed(0);break;case R.id.But_on:if (arithmetic2.equals("=")) {clean();}tv_changed(1);break;case R.id.But_tw:if (arithmetic2.equals("=")) {clean();}tv_changed(2);break;case R.id.But_th:if (arithmetic2.equals("=")) {clean();}tv_changed(3);break;case R.id.But_fo:if (arithmetic2.equals("=")) {clean();}tv_changed(4);break;case R.id.But_fi:if (arithmetic2.equals("=")) {clean();}tv_changed(5);break;case R.id.But_si:if (arithmetic2.equals("=")) {clean();}tv_changed(6);break;case R.id.But_se:if (arithmetic2.equals("=")) {clean();}tv_changed(7);break;case R.id.But_ei:if (arithmetic2.equals("=")) {clean();}tv_changed(8);break;case R.id.But_ni:if (arithmetic2.equals("=")) {clean();}tv_changed(9);break;case R.id.But_eq:tv_changed("=");break;case R.id.But_ad:tv_changed("+");break;case R.id.But_mu:tv_changed("*");break;case R.id.But_su:tv_changed("-");break;case R.id.But_di:tv_changed("/");break;case R.id.But_ti:tv_changed(".");break;case R.id.But_cl:tv_changed("clean");break;default:break; } }private void tv_changed(int i) {String string = tv.getText().toString();string += i;tv.setText(string);}private void tv_changed(String str) { if ( str.equals(".") ) { String str1 = tv.getText().toString()+"."; tv.setText(str1);} if(str.equals("clean")) { clean(); }if( str =="+"||str =="-"||str =="*"||str =="/" ){String str1 = tv.getText().toString(); tv.setText(str1); number_one= Double.parseDouble(str1)*10000;System.out.println("numberone="+number_one); tv.setText(" "); arithmetic1 = str; System.out.println("arithmetic1="+arithmetic1); tv.setText(str); tv.setText(" "); }if (str=="=") {String str1 = tv.getText().toString(); tv.setText(str1); number_two= Double.parseDouble(str1)*10000;System.out.println("numbertwo="+number_two); tv.setText(" "); arithmetic2 = str; System.out.println("arithmetic2="+arithmetic2); tv.setText(str); arithmetic(number_one,number_two,arithmetic1); }}private void clean() { tv.setText(" "); number_two=0.0; arithmetic2=" "; System.out.println("numberone="+number_one); System.out.println("numbertwo="+number_two);} };protected void arithmetic(double number_one2, double number_two2,String arithmetic1){ tv.setText(" "); if (arithmetic1.equals("+")) { number_one=(number_one2+ number_two2)/10000; String s = String.valueOf(number_one); tv.setText(s); } else if (arithmetic1.equals("-")) { number_one=(number_one2 - number_two2)/10000; String s1 = String.valueOf(number_one); tv.setText(s1); } else if (arithmetic1.equals("*")){ number_one=(number_one2 * number_two2)/100000000; String s2 = String.valueOf(number_one); tv.setText(s2); } else{ number_one=(number_one2 / number_two2); String s3 = String.valueOf(number_one); tv.setText(s3); } } }
布局文件:activitymain.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" 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" android:background="@drawable/all_bg" > <TableLayout android:layout_width="280dip" android:layout_height="80dip" android:background="@drawable/bg_box"> <EditText android:id="@+id/ed_tv" android:layout_width="280dip" android:layout_height="80dip" android:hint="@string/zone" android:textSize="35sp" > </EditText> </TableLayout> <TableRow android:layout_width="280dip" android:layout_height="60dip" android:layout_marginTop="80dip" > <Button android:id="@+id/But_cl" android:layout_width="280dip" android:layout_height="60dip" android:text="@string/clean" android:textColor="#F8F8FF" android:textSize="25sp" android:background="#404040" /> </TableRow> <TableRow android:layout_width="280dip" android:layout_height="80dip" android:layout_marginTop="140dip" > <Button android:id="@+id/But_se" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/seven" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_ei" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/eight" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_ni" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/nine" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_ad" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/addition" android:textColor="#F8F8FF" android:textSize="25sp" /> </TableRow> <TableRow android:layout_width="280dip" android:layout_height="80dip" android:layout_marginTop="220dip" > <Button android:id="@+id/But_si" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/six" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_fi" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/five" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_fo" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/four" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_su" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/subtraction" android:textColor="#F8F8FF" android:textSize="25sp" /> </TableRow> <TableRow android:layout_width="280dip" android:layout_height="80dip" android:layout_marginTop="300dip" > <Button android:id="@+id/But_th" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/three" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_tw" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/two" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_on" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/one" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_mu" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/multiplication" android:textColor="#F8F8FF" android:textSize="25sp" /> </TableRow> <TableRow android:layout_width="280dip" android:layout_height="80dip" android:layout_marginTop="380dip" > <Button android:id="@+id/But_zo" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/zone" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_ti" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/tiny" android:textColor="#F8F8FF" android:textSize="25sp" /> <Button android:id="@+id/But_eq" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/equate" android:textColor="#F8F8FF" android:textSize="25sp" /> 1 <Button android:id="@+id/But_di" android:layout_width="70dip" android:layout_height="80dip" android:background="@drawable/blankt" android:text="@string/division" android:textColor="#F8F8FF" android:textSize="25sp" /> </TableRow> </RelativeLayout>
- 计算器(android)
- Android计算器(最初版)
- android activity复杂(计算器)
- android 计算器(GridView实现)
- android计算器
- android 计算器
- Android计算器
- android计算器
- android计算器
- android 计算器
- android计算器
- Android计算器
- Android计算器
- 【Android】计算器
- Android 计算器
- Android--计算器
- (初识android)android -计算器实现
- 简单android计算器 android学习(一)
- UIWebView
- JavaScript学习笔记
- 运算符的优先级
- 1.4.3: jQuery对象和DOM对象实例研究
- BigBlueButton 教学服务器
- 计算器(android)
- 几种数据库类型说明及发展历史(1)
- XMLParser (整理下以前写的代码)
- Nginx的目录文件列表功能,和自定义header和footer
- 整型、实型、字符型数据间的运算
- apache-2.4.2 编译安装方法
- 整型数据
- Unicode 字符
- 字符串常量