首先,很多东西都不是规范命名,而且没有直接写计算类。没有考虑小数部分。只是为了认识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);
}
}