该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
package com.example.calculator;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener{
private TextView textView1;
private Button buttonc;
private Button buttondel;
private Button buttondevide;
private Button buttonmultiply;
private Button button7;
private Button button8;
private Button button9;
private Button buttonminus;
private Button button4;
private Button button5;
private Button button6;
private Button buttonplus;
private Button button1;
private Button button2;
private Button button3;
private Button button0;
private Button buttonpoint;
private Button buttonequal;
boolean clearflag;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonc=(Button) findViewById(R.id.buttonc);
buttondel=(Button) findViewById(R.id.buttondel);
buttondevide=(Button) findViewById(R.id.buttondevide);
buttonplus=(Button) findViewById(R.id.buttonplus);
button7=(Button) findViewById(R.id.button7);
button8=(Button) findViewById(R.id.button8);
button9=(Button) findViewById(R.id.button9);
buttonminus=(Button) findViewById(R.id.buttonminus);
button4=(Button) findViewById(R.id.button4);
button5=(Button) findViewById(R.id.button5);
button6=(Button) findViewById(R.id.button6);
buttonplus=(Button) findViewById(R.id.buttonplus);
button1=(Button) findViewById(R.id.button1);
button2=(Button) findViewById(R.id.button2);
button3=(Button) findViewById(R.id.button3);
button0=(Button) findViewById(R.id.button0);
buttonpoint=(Button) findViewById(R.id.buttonpoint);
buttonequal=(Button) findViewById(R.id.buttonequal);
textView1=(TextView) findViewById(R.id.textView1);
buttonc.setOnClickListener(this);
buttondel.setOnClickListener(this);
buttondevide.setOnClickListener(this);
buttonmultiply.setOnClickListener(this);
button7.setOnClickListener(this);
button8.setOnClickListener(this);
button9.setOnClickListener(this);
buttonminus.setOnClickListener(this);
button4.setOnClickListener(this);
button5.setOnClickListener(this);
button6.setOnClickListener(this);
buttonplus.setOnClickListener(this);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button0.setOnClickListener(this);
buttonpoint.setOnClickListener(this);
buttonequal.setOnClickListener(this);
textView1.setOnClickListener(this);
}
@Override
public void onClick(View v) {
String str=textView1.getText().toString();
switch (v.getId()) {
case R.id.button0:
case R.id.button1:
case R.id.button2:
case R.id.button3:
case R.id.button4:
case R.id.button5:
case R.id.button6:
case R.id.button7:
case R.id.button8:
case R.id.button9:
case R.id.buttonpoint:
if(clearflag)
{
clearflag=false;
str="";
textView1.setText("");
}
textView1.setText(str+((Button)v).getText());
break;
case R.id.buttonplus:
case R.id.buttonminus:
case R.id.buttonmultiply:
case R.id.buttondevide:
if(clearflag)
{
clearflag=false;
str="";
textView1.setText("");
}
textView1.setText(str+" "+((Button)v).getText()+" ");
break;
case R.id.buttondel:
if(clearflag)
{
clearflag=false;
str="";
textView1.setText("");
}
else if(str!=null&&!str.equals(""))
{
textView1.setText(str.substring(0, str.length()-1));
}
break;
case R.id.buttonc:
clearflag=false;
str="";
textView1.setText("");
break;
case R.id.buttonequal:
getResult();
break;
}
}
private void getResult(){
String exp=textView1.getText().toString();
if(exp==null||exp.equals(""))
{
return;
}
if(!exp.contains(" "))
{
return;
}
if(clearflag)
{
clearflag=false;
}
clearflag=true;
double result=0;
String s1=exp.substring(0, exp.indexOf(" "));//第一个操作数
String s2=exp.substring( exp.indexOf(" ")+1,exp.indexOf(" ")+2);//这是符号
String s3=exp.substring( exp.indexOf(" ")+3);//第二个操作数
if(!s1.equals("")&&!s3.equals(""))
{
double d1=Double.parseDouble(s1);
double d2=Double.parseDouble(s3);
if(s2.equals("+"))
{
result=d1+d2;
}
else if(s2.equals("-"))
{
result=d1-d2;
}
else if(s2.equals("×"))
{
result=d1*d2;
}
else if(s2.equals("÷"))
{
if(d2==0)
result=0;
else
result=d1/d2;
}
if(!s1.contains(".")&&!s2.contains(".")&&!s2.equals("÷"))
{
int r=(int) (result);
textView1.setText(r+"");
}
else
textView1.setText(result+"");
}
else if(!s1.equals("")&&s3.equals(""))
{
textView1.setText(exp);
}
else if(s1.equals("")&&!s3.equals(""))
{
double d2=Double.parseDouble(s3);
if(s2.equals("+"))
{
result=0+d2;
}
else if(s2.equals("-"))
{
result=0-d2;
}
else if(s2.equals("×"))
{
result=0*d2;
}
else if(s2.equals("÷"))
{
result=0;
}
if(!s1.contains(".")&&!s2.contains("."))
{
int r=(int) (result);
textView1.setText(r+"");
}
else
textView1.setText(result+"");
}
else
{
textView1.setText("");
}
}
}