当前位置: 代码迷 >> Android >> Android-9-容易的计算器
  详细解决方案

Android-9-容易的计算器

热度:163   发布时间:2016-04-28 01:35:46.0
Android---9---简单的计算器

自己做的一个简单的计算器,只能实现简单的四则运算。

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_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="com.example.calculator.MainActivity" >    <TextView        android:id="@+id/show"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="center_vertical"        android:hint="0"        android:minLines="3" />    <Button        android:id="@+id/clean"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_below="@id/show"        android:text="清除" />    <Button        android:id="@+id/seven"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/clean"        android:text="7" />    <Button        android:id="@+id/eight"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/seven"        android:layout_toRightOf="@+id/seven"        android:text="8" />    <Button        android:id="@+id/nine"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/eight"        android:layout_alignBottom="@+id/eight"        android:layout_toRightOf="@+id/eight"        android:text="9" />    <Button        android:id="@+id/add"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/nine"        android:layout_alignBottom="@+id/nine"        android:layout_toRightOf="@+id/nine"        android:text="+" />    <Button        android:id="@+id/four"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignRight="@+id/seven"        android:layout_below="@+id/seven"        android:text="4" />    <Button        android:id="@+id/five"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/four"        android:layout_alignBottom="@+id/four"        android:layout_alignLeft="@+id/eight"        android:text="5" />    <Button        android:id="@+id/six"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/five"        android:layout_alignBottom="@+id/five"        android:layout_toRightOf="@+id/five"        android:text="6" />    <Button        android:id="@+id/subtract"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/six"        android:layout_alignBottom="@+id/six"        android:layout_toRightOf="@+id/six"        android:text="-" />    <Button        android:id="@+id/one"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/four"        android:layout_below="@+id/four"        android:text="1" />    <Button        android:id="@+id/two"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/five"        android:layout_below="@+id/five"        android:text="2" />    <Button        android:id="@+id/three"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/two"        android:layout_alignBottom="@+id/two"        android:layout_alignLeft="@+id/six"        android:text="3" />    <Button        android:id="@+id/multiply"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/three"        android:layout_alignBottom="@+id/three"        android:layout_toRightOf="@+id/three"        android:text="*" />    <Button        android:id="@+id/zero"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/one"        android:layout_alignRight="@+id/one"        android:layout_below="@+id/one"        android:text="0" />    <Button        android:id="@+id/point"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/zero"        android:layout_alignBottom="@+id/zero"        android:layout_toLeftOf="@+id/multiply"        android:text="." />    <Button        android:id="@+id/divide"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/multiply"        android:layout_below="@+id/multiply"        android:text="/" />    <Button        android:id="@+id/Symbol"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/one"        android:layout_toRightOf="@+id/one"        android:text="-/+" />    <Button        android:id="@+id/result"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/zero"        android:layout_alignRight="@+id/divide"        android:layout_below="@+id/zero"        android:text="=" /></RelativeLayout>


MainActivity.java:


package com.example.calculator;import android.R.integer;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity implements OnClickListener {	private Button one, two, three, four, five, six, seven, eight, nine, zero;	private Button add, subtract, multiply, divide;	private Button Symbol, point;	private Button clean, result;	private TextView ShowResult;	double num1, num2, num;	int op = 0;	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		// 0---9		one = (Button) findViewById(R.id.one);		two = (Button) findViewById(R.id.two);		three = (Button) findViewById(R.id.three);		four = (Button) findViewById(R.id.four);		five = (Button) findViewById(R.id.five);		six = (Button) findViewById(R.id.six);		seven = (Button) findViewById(R.id.seven);		eight = (Button) findViewById(R.id.eight);		nine = (Button) findViewById(R.id.nine);		zero = (Button) findViewById(R.id.zero);		// +-*/		add = (Button) findViewById(R.id.add);		subtract = (Button) findViewById(R.id.subtract);		multiply = (Button) findViewById(R.id.multiply);		divide = (Button) findViewById(R.id.divide);		point = (Button) findViewById(R.id.point);		clean = (Button) findViewById(R.id.clean);		result = (Button) findViewById(R.id.result);		ShowResult = (TextView) findViewById(R.id.show);		clean.setOnClickListener(this);		zero.setOnClickListener(this);		one.setOnClickListener(this);		two.setOnClickListener(this);		three.setOnClickListener(this);		four.setOnClickListener(this);		five.setOnClickListener(this);		six.setOnClickListener(this);		seven.setOnClickListener(this);		eight.setOnClickListener(this);		nine.setOnClickListener(this);		add.setOnClickListener(this);		subtract.setOnClickListener(this);		multiply.setOnClickListener(this);		divide.setOnClickListener(this);			point.setOnClickListener(this);		result.setOnClickListener(this);	}	@Override	public void onClick(View v) {		String content = "";		switch (v.getId()) {		// 0---9		case R.id.one:			content = ShowResult.getText().toString() + "1";			ShowResult.setText(content);			break;		case R.id.two:			content = ShowResult.getText().toString() + "2";			ShowResult.setText(content);			break;		case R.id.three:			content = ShowResult.getText().toString() + "3";			ShowResult.setText(content);			break;		case R.id.four:			content = ShowResult.getText().toString() + "4";			ShowResult.setText(content);			break;		case R.id.five:			content = ShowResult.getText().toString() + "5";			ShowResult.setText(content);			break;		case R.id.six:			content = ShowResult.getText().toString() + "6";			ShowResult.setText(content);			break;		case R.id.seven:			content = ShowResult.getText().toString() + "7";			ShowResult.setText(content);			break;		case R.id.eight:			content = ShowResult.getText().toString() + "8";			ShowResult.setText(content);			break;		case R.id.nine:			content = ShowResult.getText().toString() + "9";			ShowResult.setText(content);			break;		case R.id.zero:			content = ShowResult.getText().toString() + "0";			ShowResult.setText(content);			break;		case R.id.point:			content = ShowResult.getText().toString() + ".";			ShowResult.setText(content);			break;		// +-*/		case R.id.add:			String addString = ShowResult.getText().toString();			if (addString.equals("")) {				return;			}			num1 = Double.valueOf(addString);			op = 1;			ShowResult.setText("");			break;		case R.id.subtract:			String subString = ShowResult.getText().toString();			if (subString.equals("")) {				return;			}			num1 = Double.valueOf(subString);			op = 2;			ShowResult.setText("");			break;		case R.id.multiply:			String mulString = ShowResult.getText().toString();			if (mulString.equals("")) {				return;			}			num1 = Double.valueOf(mulString);			op = 3;			ShowResult.setText("");			break;		case R.id.divide:			String divString = ShowResult.getText().toString();			if (divString.equals("")) {				return;			}			num1 = Double.valueOf(divString);			op = 4;			ShowResult.setText("");			break;		// clean		case R.id.clean:			ShowResult.setText("");			break;		// =		case R.id.result:			String resultString = ShowResult.getText().toString();			if (resultString.equals("")) {				return;			}			num2 = Double.valueOf(resultString);			switch (op) {			case 0:				num = num2;				break;			case 1:				num = num1 + num2;				break;			case 2:				num = num1 - num2;				break;			case 3:				num = num1 * num2;				break;			case 4:				num = num1 / num2;				break;			default:				break;			}			ShowResult.setText(num + "");			break;		default:			break;		}	}}


  相关解决方案