package your.packaga;
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText;
public class CalculActivity extends Activity implements OnClickListener{ /** Called when the activity is first created. */ double a, b, tmp; //a는 첫번째 숫자, b는 두번째 숫자, c는 중간 계산값 int flag1=0, flag2=0, flag3=1; static double result=0; //flag1이 0이면 숫자, 1이면 연산자 //flag2가 0이면 +, 1이면 -, 2면 *, 3이면 / //flag3이 0이면 숫자, 1이면 연산자, 2면 = @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
Button button01=(Button)findViewById(R.id.Button01); Button button02=(Button)findViewById(R.id.Button02); Button button03=(Button)findViewById(R.id.Button03); Button button04=(Button)findViewById(R.id.Button04); Button button05=(Button)findViewById(R.id.Button05); Button button06=(Button)findViewById(R.id.Button06); Button button07=(Button)findViewById(R.id.Button07); Button button08=(Button)findViewById(R.id.Button08); Button button09=(Button)findViewById(R.id.Button09); Button button00=(Button)findViewById(R.id.Button0); Button plus=(Button)findViewById(R.id.ButtonP); Button minus=(Button)findViewById(R.id.ButtonM); Button div=(Button)findViewById(R.id.ButtonNA); Button mul=(Button)findViewById(R.id.ButtonX); Button equl=(Button)findViewById(R.id.ButtonE); button01.setOnClickListener(this); button02.setOnClickListener(this); button03.setOnClickListener(this); button04.setOnClickListener(this); button05.setOnClickListener(this); button06.setOnClickListener(this); button07.setOnClickListener(this); button08.setOnClickListener(this); button09.setOnClickListener(this); button00.setOnClickListener(this); plus.setOnClickListener(this); minus.setOnClickListener(this); div.setOnClickListener(this); mul.setOnClickListener(this); equl.setOnClickListener(this); }
public static double plus (double a, double b) { return result = a+b; } public static double minus (double a, double b) { return result = a-b; } public static double mul (double a, double b) { return result = a*b; } public static double div (double a, double b) { return result = a/b; } public void onClick(View v){ EditText text=(EditText)findViewById(R.id.et); switch (v.getId()) {
case R.id.Button01: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("1"); break; case R.id.Button02: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("2"); break; case R.id.Button03: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("3"); break;
case R.id.Button04: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("4"); break;
case R.id.Button05: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("5"); break;
case R.id.Button06: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("6"); break; case R.id.Button07: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("7"); break;
case R.id.Button08: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("8"); break;
case R.id.Button09: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("9"); break; case R.id.Button0: if(flag1==1){ text.setText(""); flag1=0; } else if(flag3==1||flag3==2){ text.setText(""); flag3=0; } text.append("0"); break; //------------숫자처리
case R.id.ButtonP: if(flag3==1){ text.setText(""); } else{ flag3=1; flag1=1; a=Double.parseDouble(text.getText().toString()); if(flag2==0){ result=plus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==1){ result=minus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==2){ result=mul(tmp,a); tmp=result; text.setText(Double.toString(result)); }else if(flag2==3){ result=div(tmp,a); tmp=result; text.setText(Double.toString(result)); } }//else end flag2 = 0;
break;
case R.id.ButtonM: if(flag3==1){ text.setText(""); } else{ flag3=1; flag1=1; a=Double.parseDouble(text.getText().toString()); if(flag2==0){ result=plus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==1){ result=minus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==2){ result=mul(tmp,a); tmp=result; text.setText(Double.toString(result)); }else if(flag2==3){ result=div(tmp,a); tmp=result; text.setText(Double.toString(result)); } }//else end flag2 = 1;
break;
case R.id.ButtonX: if(flag3==1){ text.setText(""); } else{ flag3=1; flag1=1; a=Double.parseDouble(text.getText().toString()); if(flag2==0){ result=plus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==1){ result=minus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==2){ result=mul(tmp,a); tmp=result; text.setText(Double.toString(result)); }else if(flag2==3){ result=div(tmp,a); tmp=result; text.setText(Double.toString(result)); } }//else end flag2 = 2;
break;
case R.id.ButtonNA: if(flag3==1){ text.setText(""); } else{ flag3=1; flag1=1; a=Double.parseDouble(text.getText().toString()); if(flag2==0){ result=plus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==1){ result=minus(tmp,a); tmp=result; text.setText(Double.toString(result)); } else if(flag2==2){ result=mul(tmp,a); tmp=result; text.setText(Double.toString(result)); }else if(flag2==3){ result=div(tmp,a); tmp=result; text.setText(Double.toString(result)); } }//else end flag2 = 3;
break;
case R.id.ButtonE: if(flag3==1||flag3==2){ text.setText(""); } else{ flag3=2; b=Double.parseDouble(text.getText().toString()); if(flag2==0){ result=plus(result,b); tmp=0; text.setText(Double.toString(result)); flag2=4; } else if(flag2==1){ result=minus(result,b); tmp=0; text.setText(Double.toString(result)); flag2=4; } else if(flag2==2){ result=mul(result,b); tmp=0; text.setText(Double.toString(result)); flag2=4; } else if(flag2==3){ result=div(result,b); tmp=0; text.setText(Double.toString(result)); flag2=4; } } flag1=1; break; }//switch end }//onCreate
}//end
|
댓글