自学的android,写了一个很简单的计算器。

首先,很多东西都不是规范命名,而且没有直接写计算类。没有考虑小数部分。只是为了认识android。16.4.24 下午 软件楼404



layout :

<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="com.example.calculator1.MainActivity" >

 <Button
	android:id="@+id/widget54"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/del"
	android:layout_below="@+id/widget52"
	android:layout_alignLeft="@+id/widget50" />
<Button
	android:id="@+id/widget53"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/go"
	android:layout_below="@+id/widget52"
	android:layout_toLeftOf="@+id/widget50" />
<EditText
	android:id="@+id/widget52"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/hello_world"
	android:textSize="18sp"
	android:layout_below="@+id/widget51"
	android:layout_alignParentLeft="true" />
<Button
	android:id="@+id/widget51"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/er"
	android:layout_alignParentTop="true"
	android:layout_toRightOf="@+id/widget50" />
<Button
	android:id="@+id/widget50"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/jia"
	android:layout_alignParentTop="true"
	android:layout_toRightOf="@+id/widget49" />
<Button
	android:id="@+id/widget49"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="@string/yi"
	android:layout_alignParentTop="true"
	android:layout_alignParentLeft="true" />

<Button
    android:id="@+id/cheng"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/widget54"
    android:layout_alignBottom="@+id/widget54"
    android:layout_alignLeft="@+id/widget51"
    android:text="@string/cheng" />

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/widget52"
    android:layout_toRightOf="@+id/widget51"
    android:text="/" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/cheng"
    android:layout_alignLeft="@+id/button1"
    android:text="-" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/widget54"
    android:layout_toLeftOf="@+id/widget54"
    android:text="3" />

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/button6"
    android:layout_alignLeft="@+id/widget54"
    android:text="4" />

<Button
    android:id="@+id/button5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button4"
    android:layout_alignBottom="@+id/button4"
    android:layout_toRightOf="@+id/button4"
    android:text="5" />

<Button
    android:id="@+id/button6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button3"
    android:layout_toLeftOf="@+id/button4"
    android:text="6" />

<Button
    android:id="@+id/button7"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button4"
    android:layout_toLeftOf="@+id/button5"
    android:text="7" />

<Button
    android:id="@+id/button8"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button5"
    android:layout_below="@+id/button5"
    android:text="8" />

<Button
    android:id="@+id/button9"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/button6"
    android:layout_toLeftOf="@+id/button7"
    android:text="9" />

<Button
    android:id="@+id/button10"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button2"
    android:layout_below="@+id/button5"
    android:text="0" />

</RelativeLayout>
//java代码

package com.example.calculator1;

import android.app.Activity;
import android.os.Bundle;
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;

public  class MainActivity extends Activity implements OnClickListener {
	char[] a=new char[100];
	int i=0;
	int a3=0;
	String s="";
	private EditText edittext1;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button button1=(Button)findViewById(R.id.widget49);
		Button button2=(Button)findViewById(R.id.widget50);
		Button button3=(Button)findViewById(R.id.widget51);
		Button button4=(Button)findViewById(R.id.widget53);
		Button button5=(Button)findViewById(R.id.widget54);
		Button button6=(Button) findViewById(R.id.cheng);
		Button button7=(Button) findViewById(R.id.button1);
		Button button8=(Button) findViewById(R.id.button2);
		edittext1=(EditText) findViewById(R.id.widget52);
		Button sum3=(Button) findViewById(R.id.button3);
		Button sum4=(Button) findViewById(R.id.button4);
		Button sum5=(Button) findViewById(R.id.button5);
		Button sum6=(Button) findViewById(R.id.button6);
		Button sum7=(Button) findViewById(R.id.button7);
		Button sum8=(Button) findViewById(R.id.button8);
		Button sum9=(Button) findViewById(R.id.button9);
		Button sum0=(Button) findViewById(R.id.button10);
	
		
		
		button1.setOnClickListener(this);
	    button1.setTag(1);
	    button2.setOnClickListener(this);
	    button2.setTag(2);
	    button3.setOnClickListener(this);
	    button3.setTag(3);
	    button4.setOnClickListener(this);
	    button4.setTag(4);
	    button5.setOnClickListener(this);
	    button5.setTag(5);
	    button6.setOnClickListener(this);
	    button6.setTag(6);
	    button7.setOnClickListener(this);
	    button7.setTag(7);
	    button8.setOnClickListener(this);
	    button8.setTag(8);
	    sum3.setOnClickListener(this);
	    sum3.setTag(13);
	    sum4.setOnClickListener(this);
	    sum4.setTag(14);
	    sum5.setOnClickListener(this);
	    sum5.setTag(15);
	    sum6.setOnClickListener(this);
	    sum6.setTag(16);
	    sum7.setOnClickListener(this);
	    sum7.setTag(17);
	    sum8.setOnClickListener(this);
	    sum8.setTag(18);
	    sum9.setOnClickListener(this);
	    sum9.setTag(19);
	    sum0.setOnClickListener(this);
	    sum0.setTag(10);}
	public void onClick(View v) {
		 int tag = (Integer) v.getTag(); 
		 switch(tag){
		 case 1:
           a[i]='1';
           s+="1";
           i++;
           edittext1.setText(a, 0, a.length);
           break;
		 case 3:
			 a[i]='2';
			 s+="2";
			 i++;
			 edittext1.setText(a, 0, a.length);
			 break;
		 case 2:
			 a[i]='+';
			 s+="+";
			 i++;
			 edittext1.setText(a, 0, a.length);
			 break;
		 case 4:
			String s1=new String(a,0,i);
			int j=0;
			 for(j=0;j<s1.length();j++){
				 System.out.println("123!!");
				 if(s1.charAt(j)=='+'){
					String s2=s1.substring(0, j);
					int a1=Integer.parseInt(s2);
					String s3=s1.substring(j+1, s1.length());
					int a2=Integer.parseInt(s3);
					 a3=a1+a2;		  
				 }
				 else if(s1.charAt(j)=='-'){
					 String s2=s1.substring(0, j);
					 int a1=Integer.parseInt(s2);
					 String s3=s1.substring(j+1, s1.length());
					 int a2=Integer.parseInt(s3);
					 a3=a1-a2;
				 }
				 else if(s1.charAt(j)=='*'){
					 String s2=s1.substring(0, j);
					 int a1=Integer.parseInt(s2);
					 String s3=s1.substring(j+1, s1.length());
					 int a2=Integer.parseInt(s3);
					 a3=a1*a2;
				 }
				 else if(s1.charAt(j)=='/'){
					 String s2=s1.substring(0, j);
					 int a1=Integer.parseInt(s2);
					 String s3=s1.substring(j+1, s1.length());
					 int a2=Integer.parseInt(s3);
					 a3=a1/a2;
				 }
				 
				
			 }
			 String s4=String.valueOf(a3);
			System.out.println(a3);
			 edittext1.setText("="+s4);break;
		 case 5:
			  edittext1.setText("0");
			  a=new char[100];
			  s=new String();
			  i=0;
			  break;
		 case 6:
			 a[i]='*';
			 i++;
			 edittext1.setText(a, 0, a.length);
			 break;
		 case 7:
			 a[i]='/';
			 i++;
			 edittext1.setText(a, 0, a.length);
			 break;
		 case 8:
			 a[i]='-';
			 i++;
			 edittext1.setText(a, 0, a.length);
			 break;
		 case 10: a[i]='0';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
			 
		 case 13: a[i]='3';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
		 case 14: a[i]='4';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
		 case 15: a[i]='5';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
		 case 16: a[i]='6';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
		 case 17: a[i]='7';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
		 case 18: a[i]='8';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
		 case 19: a[i]='9';
		 i++;
		 edittext1.setText(a, 0, a.length);
		 break;
			 
		 }
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值