`

太弱了,写个calculator写了2天...

阅读更多
还是在结石和潘老师的指点下完成的,java,哎,痛啊..完全忘光鸟..

不过一到公司零零散散的事 是多啊


package com.pako;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnFocusChangeListener;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Button;
public class calzpc extends Activity implements OnClickListener {
   
 private TextView operator;
 private Button num1;
 private Button num2;
 private Button num3;
 private Button num4;
 private Button num5;
 private Button num6;
 private Button num7;
 private Button num8;
 private Button num9;
 private Button num10;
 private Button add;
 private Button cancel;
 private Button decrease;
 private Button multiply;
 private Button devide;
 private Button equal_key;
 private EditText result;
 private EditText input1;
 private EditText input2;
 private int input1value = 0;
 private int input2value = 0;
 private String opstr ="";
 private float opresult =0;
 private EditText input=input1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
//        mImageButton1 =(ImageButton) findViewById(R.id.myImageButton1);
//        mButton1=(Button)findViewById(R.id.myButton1);
//        mTextView1 = (TextView) findViewById(R.id.myTextView1);
        num1 = (Button)findViewById(R.id.num1);
        num2 = (Button)findViewById(R.id.num2);
        num3 = (Button)findViewById(R.id.num3);
        num4 = (Button)findViewById(R.id.num4);
        num5 = (Button)findViewById(R.id.num5);
        num6 = (Button)findViewById(R.id.num6);
        num7 = (Button)findViewById(R.id.num7);
        num8 = (Button)findViewById(R.id.num8);
        num9 = (Button)findViewById(R.id.num9);
        add = (Button)findViewById(R.id.add);
        decrease = (Button)findViewById(R.id.decrease);
        multiply = (Button)findViewById(R.id.multiply);
        devide = (Button)findViewById(R.id.devide);
        cancel = (Button)findViewById(R.id.cancel);
        equal_key = (Button)findViewById(R.id.equal_key);
        operator = (TextView)findViewById(R.id.operator);
        input1 = (EditText)findViewById(R.id.input1);
        input2 = (EditText)findViewById(R.id.input2);
        result = (EditText)findViewById(R.id.result);
        num1.setOnClickListener(this);
        num2.setOnClickListener(this);
        num3.setOnClickListener(this);
        num4.setOnClickListener(this);
        num5.setOnClickListener(this);
        num6.setOnClickListener(this);
        num7.setOnClickListener(this);
        num8.setOnClickListener(this);
        num9.setOnClickListener(this);
        add.setOnClickListener(this);
        decrease.setOnClickListener(this);
        multiply.setOnClickListener(this);
        devide.setOnClickListener(this);
        cancel.setOnClickListener(this);
        equal_key.setOnClickListener(this);
        input1.setOnClickListener(this);
        input2.setOnClickListener(this);
       
    }

 public void onClick(View v) {
  int inputid = v.getId();
  if (inputid == R.id.input1)
  {
   input = input1;
  }
  else if (inputid == R.id.input2)
  {
   input = input2;
  }
  else
  {
   CharSequence label = ((Button) v).getText();
   Log.i("isnumberkey",String.valueOf(Character.isDigit(label.charAt(0))) );
   Log.i("is_cancel=",String.valueOf(String.valueOf(label).charAt(0)=='c') );
   if (String.valueOf(label).charAt(0)=='=')
   {
    Log.i("down the equal_key","1");
    opresult = operator(opstr.charAt(0));
    result.setText(String.valueOf(opresult));
   }
   else
   {
    if (String.valueOf(label).charAt(0)=='c')
     {
     operator.setText("");
     input1.setText("");
     input2.setText("");
     }
    else{
     if (Character.isDigit(label.charAt(0)))
     {
      Log.i("enter into number key","enter into number key");
      numkey(Integer.valueOf(((Button)v).getText().toString()));
      
     }
     else
      {
      Log.i("enter into operator key","enter into operator key");
      operator.setText(label);
      opstr = String.valueOf(label);
      }
     }
   }
  }
 }
 public void numkey(int keynum)
 {
  
 String snum = String.valueOf(keynum);
 String prestr = String.valueOf(input.getText());
 String inputstr = prestr+snum;
 Log.i("inputstr",inputstr);
 input.setText(inputstr);
//  if (String.valueOf(input1.getText()).length()<1)
//  {input1.setText(snum);
//   input1value = keynum;
//  Log.i("input1_text=",String.valueOf(input2.getText()));}
// else
//  {input2.setText(snum);
//   input2value = keynum;
//  Log.i("input2_text",String.valueOf(input2.getText()));}
 }
 public float operator(char opchar)
 { 
  float int1 = Float.valueOf(String.valueOf(input1.getText()));
  float int2 = Float.valueOf(String.valueOf(input2.getText()));
  float result = 0;
  switch (opchar)
  {
  case '+':
   result = int1+int2;
   break;
  case '-':
   result = int1-int2;
   break;
  case '*':
   result = int1*int2;
   break;
  case '/':
  
   if (int2 ==0)
   {
    result =0;
    break;
   }
   else
   {
    result = int1/int2;
    break;
   }
  default:result=0;
    break;
  }
  Log.i("result=",String.valueOf(result));
  return result;
 }
}
  • 大小: 51.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics