package com.wo;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;public class WoActivity extends Activity implements OnClickListener{
    private EditText editText1,editText2;
    private TextView textView1,textView2,textView3;
    private Button button1,button2,button3,button4;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        editText1=(EditText) this.findViewById(R.id.editText1);
        editText2=(EditText) this.findViewById(R.id.editText2);
        textView1=(TextView) this.findViewById(R.id.textView1);
        textView2=(TextView) this.findViewById(R.id.textView2);
        textView3=(TextView) this.findViewById(R.id.textView3);
        
        button1=(Button) this.findViewById(R.id.button1);
        button2=(Button) this.findViewById(R.id.button2);
        button3=(Button) this.findViewById(R.id.button3);
        button4=(Button) this.findViewById(R.id.button4);
        
        button1.setOnClickListener(this);
        button2.setOnClickListener(this);
        button3.setOnClickListener(this);
        button4.setOnClickListener(this);
        
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Button button=(Button)v;
        textView1.setText(button.getText());
        textView1.setText(button.getText());
        int a=Integer.parseInt(editText1.getText().toString());
        int b=Integer.parseInt(editText2.getText().toString());
        int c=4;
        Log.v("a,b", Integer.toString(a)+" "+Integer.toString(b));
        Log.v("sdfsdf", Boolean.toString("dsdf".equals("dsdf")));
        Log.v("dfsdfsdfsdfsd", button.getText().toString());
        if(button.getText().toString()=="+"){
            c=a+b;
        }else if(button.getText().toString()=="-"){
            c=a-b;
        }else if(button.getText().toString()=="*"){
            c=a*b;
        }else if(button.getText().toString()=="/"){
            c=a/b;
        }
        textView2.setText("=");
        textView3.setText(c+"");
        
    }
}
为什么我无法判断if里的语句,求解.
还有“==”和equals在比较字符串问题上是等价的么?
能不能在改进一下这个小程序,使它变的更简洁。

解决方案 »

  1.   

    要用equals,比较时先用String tmp=button.getText().toString();在用tmp去比较
      

  2.   

    恩恩, 网上很多详解解答,这里有个传送门http://wenku.baidu.com/view/2d25e10d4a7302768e9939d7.html
      

  3.   

    “==”和equals在比较字符串问题上是不等价的,如果要比较内容通常用equals
      

  4.   

    试试这样  button.getText().toString().trim() == "+";
      

  5.   

    我也是刚解决了一个这样的问题   ==是不一定能判断两个一样的字符串的   要用equals才行  之前比较过一个0==0。结果就杯具了  果断换了equals  立竿见影