0

私はまだ初心者ですが、学ぼうとしているので、おそらく非常にばかげたことをしています。私の質問は、私が作成しようとしている単純なAndroid計算機に関するものですが、質問は、私が理解したと思った基本的なJavaに関するものだと思います。押されたボタンから値を取得し、それをメソッドに渡して入力を表示し、入力のグローバル変数を設定します。「1」を押すと、メソッドヘッダーの値は「1」になりますが、そのメソッドで失われます。たぶん、私が思っていたようにJavaタイプを処理する方法がわからないのかもしれませんが、わかりません。一度はロジックを機能させていましたが、表示方法を変更する必要がありました。もちろん、ロジックがどこかで台無しになってしまいました。とにかく、とりあえずpassingステートメントとreceiveingメソッドを投稿します。前もって感謝します。

  public void initButtons()
{
    //register buttons as listeners
    final Button button1 = (Button) findViewById(R.id.button1);
    final Button button2 = (Button) findViewById(R.id.button2);
    final Button button3 = (Button) findViewById(R.id.button3);
    final Button button4 = (Button) findViewById(R.id.button4);
    final Button button5 = (Button) findViewById(R.id.button5);
    final Button button6 = (Button) findViewById(R.id.button6);
    final Button button7 = (Button) findViewById(R.id.button7);
    final Button button8 = (Button) findViewById(R.id.button8);
    final Button button9 = (Button) findViewById(R.id.button9);
    final Button button10 = (Button) findViewById(R.id.button10);
    final Button addButton = (Button) findViewById(R.id.addButton);
    final Button subButton = (Button) findViewById(R.id.subButton);
    final Button multButton = (Button) findViewById(R.id.multButton);
    final Button divButton = (Button) findViewById(R.id.divButton);
    final Button calcButton = (Button) findViewById(R.id.calcButton);
    final Button clearButton = (Button) findViewById(R.id.clearButton);

    //when button is pressed, send num to calc function
    button1.setOnClickListener
    (new Button.OnClickListener()
        {
            public void onClick(View v)
            {
                inputString = button1.getText().toString();
                displayCalc(inputString);
                //displayCalc(1.0);
            }
        }
    );

    private void displayCalc(String curValue)
{
    if (hasChanged = false)
    {
        //display number if reset
        String display = curValue;
        number1 = Double.parseDouble(display);
    }
    else                                                    
    {
    //  display = display + operator + curValue;
        //number2 = Double.parseDouble(curValue);
    }
    //showDisplay(display);
}
4

1 に答える 1

5

Java での比較は、二重の等号「==」で行われます。

次のように丸括弧で囲むだけで、ブール値をテストする方が良いと考えられます。

if(myBool){
    //do something
}
else if(!myOtherBool){
    //do something else
}
于 2012-05-10T15:01:50.187 に答える