我正在使用if / else错误

时间:2013-01-31 16:25:24

标签: java android if-statement

  

可能重复:
  Syntax Question IF ELSE (Java)

我正在尝试制作一个计算器,如果在编辑框中没有输入任何值,则显示一条消息。但它的FC!我很长一段时间都在制作应用程序,所以我很困惑。

private OnClickListener startListener = new OnClickListener() {
    public void onClick(View v) {               
        double a=0;
        double b=0;
        double c=0;
        EditText edit;
        EditText edit2;
        TextView edit3;
        String lname="";
        edit=(EditText)findViewById(R.id.edit);
        edit2=(EditText)findViewById(R.id.edit2);
        edit3=(TextView)findViewById(R.id.edit3); // everything defined above


        String editstr= edit.getText().toString(); // real work starts
        if(editstr.contentEquals(lname))
            edit3.setText("Enter value");
        else

        a=Double.parseDouble(edit.getText().toString()); // else add the stuff
        b=Double.parseDouble(edit2.getText().toString());
        c=a+b;
        edit3.setText(Double.toString(c));

    } };

3 个答案:

答案 0 :(得分:5)

在你的if-else周围加上括号,目前万一它只执行第一行,无论你是否通过,都会执行其他行。

if(editstr.contentEquals(lname)) {
    edit3.setText("Enter value");
} else {
    a=Double.parseDouble(edit.getText().toString()); // else add the stuff
    b=Double.parseDouble(edit2.getText().toString());
    c=a+b;
    edit3.setText(Double.toString(c));
}

答案 1 :(得分:0)

如上所述,只有a=Double.parseDouble(edit.getText().toString());受其他影响。如果您想要其余部分,请在{}

中围绕该块

答案 2 :(得分:0)

它确实有效,它永远不会发射。

你应该做

 if(editStr.isEmpty())
     editStr = "Enter value";
 else
 {
    //editStr.equals("someValue"); //test against some value
    //rest
 }