-3

重複の可能性:
構文の質問 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));

    } };
4

3 に答える 3

5

if-elseを角かっこで囲みます。現在、elseの場合は最初の行のみが実行され、ifが成功したか失敗したかに関係なく、他の行が実行されます。

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));
}
于 2013-01-31T16:27:48.323 に答える
0

それは機能します、それは決して発火しません。

やったほうがいい

 if(editStr.isEmpty())
     editStr = "Enter value";
 else
 {
    //editStr.equals("someValue"); //test against some value
    //rest
 }
于 2013-01-31T16:28:52.047 に答える
0

書かれているように、のみがa=Double.parseDouble(edit.getText().toString());他の影響を受けます。残りの部分が必要な場合は、ブロックを囲みます{}

于 2013-01-31T16:27:26.403 に答える