计算器小例子

原创 2015年07月06日 19:01:01
主类:
package com.example.calculator;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {
	
	private static MainActivity mainActivity ;
	private TextView tv;

	public MainActivity(){
		mainActivity = this;
	}
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		tv = (TextView) findViewById(R.id.showstring);
	}
	
	public void showStirng(String str){
		tv.setText(str);
	}
	
	public static MainActivity getMainActivity() {
		return mainActivity;
	}
}
Calculator类
package com.example.calculator;

import android.content.Context;
import android.content.Intent;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
import android.widget.GridLayout;
import android.widget.TextView;

public class Calculator extends GridLayout {
	
	private Button[] button = new Button[12];
	private String str="";
	private char sign;
	
	public Calculator(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		
		init();
	}

	public Calculator(Context context, AttributeSet attrs) {
		super(context, attrs);

		init();
	}

	public Calculator(Context context) {
		super(context);

		init();
	}
	
	@Override
	protected void onSizeChanged(int w, int h, int oldw, int oldh) {
		
		super.onSizeChanged(w, h, oldw, oldh);
		
		findViewById(R.id.bt1).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="1";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt2).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="2";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt3).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="3";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt4).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="/";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt5).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="4";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt6).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="5";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt7).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="6";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt8).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="*";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt9).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="7";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt10).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="8";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt11).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="9";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt12).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="-";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt13).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="0";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt14).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+=".";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt15).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				str+="+";
				MainActivity.getMainActivity().showStirng(str);
			}
		});
		
		findViewById(R.id.bt16).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {

				char []ch = str.toCharArray();
				double sum = 0,sum2=0,ans;
				boolean tag = false;
				
				for(int i=0;i<str.length();i++){
					if(tag==false){
						if(ch[i]>='0'&&ch[i]<='9'){
							sum = sum*10+(int)(ch[i]-'0');
						}
						else{
							sign = ch[i];
							tag = true;
							continue;
						}
					}
					else{
						sum2 = sum2*10 + (int)(ch[i]-'0');
					}
				}
				
				if(sign == '+'){
					 ans = sum+sum2;
				}
				else if(sign=='-'){
					 ans = sum-sum2;
				}
				else if(sign=='*'){
					 ans = sum*sum2;
				}
				else{
					 ans = sum/sum2;
				}
				
				//System.out.println(sum+" "+sum2);
				MainActivity.getMainActivity().showStirng(ans+"");
				str="";
			}
		});
	}
	
	private void init(){
		button[0] = (Button) findViewById(R.id.bt1);
		button[1] = (Button) findViewById(R.id.bt2);
		button[2] = (Button) findViewById(R.id.bt3);
		button[3] = (Button) findViewById(R.id.bt4);
		button[4] = (Button) findViewById(R.id.bt5);
		button[5] = (Button) findViewById(R.id.bt6);
		button[6] = (Button) findViewById(R.id.bt7);
		button[7] = (Button) findViewById(R.id.bt8);
		button[8] = (Button) findViewById(R.id.bt9);
		button[9] = (Button) findViewById(R.id.bt10);
		button[10] = (Button) findViewById(R.id.bt11);
		button[11] = (Button) findViewById(R.id.bt12);
	}
}

XML 文件

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#44000000">
    
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:background="#55000000">
        
        <TextView
            android:text="Input Num: "
            android:id="@+id/getstring"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <TextView 
            android:id="@+id/showstring"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="#22000000"/>
            
    </LinearLayout>
    
	<com.example.calculator.Calculator 
    android:id="@+id/container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:columnCount="4"
    android:rowCount="5"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="10dp">
    
    <Button
        android:id="@+id/bt1"
        android:text="1"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt2"
        android:text="2"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt3"
        android:text="3"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt4"
        android:text="/"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt5"
        android:text="4"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt6"
        android:text="5"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt7"
        android:text="6"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt8"
        android:text="*"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt9"
        android:text="7"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt10"
        android:text="8"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt11"
        android:text="9"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt12"
        android:text="-"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt13"
        android:text="0"
        android:layout_columnSpan="2"
        android:layout_gravity="fill"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt14"
        android:text="."
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
     <Button
        android:id="@+id/bt15"
        android:text="+"
        android:layout_rowSpan="2"
        android:layout_gravity="fill"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    <Button
        android:id="@+id/bt16"
        android:text="="
        android:layout_columnSpan="3"
        android:layout_gravity="fill"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:background="#33000000"/>
    </com.example.calculator.Calculator>
</LinearLayout>



javascript 编写的 web计算器 小例子

  • 2011年01月11日 16:36
  • 449KB
  • 下载

MFC,VC++计算器小程序

用VC++和MFC 编写的一个计算器小程序,希望对大家有所帮助
  • rl529014
  • rl529014
  • 2015-06-26 19:58:34
  • 4298

计算器(微信小程序源码)

  • 2016年12月17日 14:07
  • 80KB
  • 下载

小程序--计算器demo

微信之父张小龙,从公布小程序到现在已经过去 好久了,在这里我就不多说什么了,我们直接直奔主题。今天给大家说的是微信小程序实现计算器,废话不多说,直接上代码。 list.wxss代码: .conte...
  • qq_27707513
  • qq_27707513
  • 2016-11-12 21:52:32
  • 1828

Android BroadcastReceiver实例Demo

  • 2014年07月15日 18:19
  • 1.43MB
  • 下载

微信小程序demo1计算器

一 微信小程序开发工具界面 二 目录结构 第一次进到页面它的目录结构如下: 三 需要注意的问题 (1)添加的新页面文件,都需要在app.json中进行配置,否则页面报错。 (2)工作原理 ...
  • dyfc3sfd3s
  • dyfc3sfd3s
  • 2017-06-01 17:03:41
  • 564

Java小程序之--计算器

Java小程序之–计算器 每个学习编程的人都会在成为大牛的路上编写出许多小程序。自学Java一段时间后准备写一个非控制台的应用程序,个人选择了计算器,目标是类似windows系统计算器,但只...
  • CAU_K_O
  • CAU_K_O
  • 2016-11-28 10:51:31
  • 1982

模仿小米内置计算器(微信小程序源代码)

  • 2016年12月13日 09:37
  • 60KB
  • 下载

Android计算器小程序

  • 2016年03月18日 17:20
  • 2.65MB
  • 下载

微信小程序开发—项目实战之计算器开发

就像学习一门开发语言首先会写出“Hello World”一样,学习开发一个应用首先得写出一个“计算器”,这也是开发者的入门必经之路。想当年我学习C/C++也是从一个计算器入门而后一往无前的。小程序的第...
  • anda0109
  • anda0109
  • 2016-11-27 21:01:01
  • 16530
收藏助手
不良信息举报
您举报文章:计算器小例子
举报原因:
原因补充:

(最多只允许输入30个字)