0

電卓アプリをAndroidで整理しようとしています。レイアウトを適切に設定しました。計算するコードを実行するだけです。アプリは、押されたときに番号を表示する必要があります。次に、+ボタンを押すと、最初の番号が保存され、画面からクリアされ、2番目の番号が取得され、それらが合計されます。イコールボタンを押すと、結果を表示する必要があります。

これまでのところ私は

public class Calculator extends Activity {

    public EditText display;  
    TextView screen;
    int a, result;
    int c;
    Button b1;
    int sum1, sum2;
    String r;

    public int getSum1(int sum1) {
        return sum1;
    }

    public int getSum2(int sum2) {
        return sum2;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void buttonEventHandler(View v) {
        screen=(EditText)findViewById(R.id.screen);
        b1=(Button)findViewById(R.id.button1);
        switch(v.getId()) {

        case R.id.button1 :
            screen.setText(screen.getText() + "1");
            c = +1;
            break;

        case R.id.button2 : 
            screen.setText(screen.getText() + "2");
            c = +2;
            break;

        case R.id.button3 : 
            screen.setText(screen.getText() + "3");
            c = +3;
            break;

        case R.id.button4 : 
            screen.setText(screen.getText() + "4");
            c = +4;
            break;

        case R.id.button5 : 
            screen.setText(screen.getText() + "5");
            c = +5;
            break;

        case R.id.button6 : 
            screen.setText(screen.getText() + "6");
            c = +6;
            break;

        case R.id.button7 : 
            screen.setText(screen.getText() + "7");
            c = +7;
            break;

        case R.id.button8 : 
            screen.setText(screen.getText() + "8");
            c = +8;
            break;

        case R.id.button9 : 
            screen.setText(screen.getText() + "9");
            c = +9;
            break;

        case R.id.button0 : 
            screen.setText(screen.getText() + "0");
            c = +0;
            break;

        case R.id.buttonC :
            screen.setText(screen.getText() + "");
            c = 0;
            break;

        case R.id.buttonPlus :          


        case R.id.buttonEquals :



        }


    }
}

計算方法は?

4

2 に答える 2

2

これはかなり多くの質問です。実行する計算の数によっては、作業が進むにつれて複雑になる可能性があります。に限定されx + yますか?それとも、次のようなことを許可しようとしています3 * (4 + 5) / 6 + 3か?

後者は事態をさらに複雑にし、おそらくtree何らかの形でデータ型を実装する必要があります。これが私がグーグルで見つけた議論です:http ://www.javaprogrammingforums.com/algorithms-recursion/605-java-calculator.html

前者を使用する場合+は、の現在の値をcデータ型に格納してから、画面をクリアしcて0にリセットする必要=があります。を押すと、合計が評価​​され、画面に報告されます。nullの値がないことを確認するために、必ずチェックを含めてください。

あなたの意図と計画についての詳細は、私や他の人があなたのプロジェクトの範囲を理解するのを助けるのに役立つかもしれません。

于 2012-10-31T21:08:02.913 に答える
2

sum1でゼロに設定しますonCreate。ユーザーがをタップしたら、次の操作を+行います。

  1. cに追加sum1
  2. 画面sum1
  3. ゼロにリセットcして、新しい番号を入力できるようにします

ユーザーがをタップしたら、次の操作を=行います。

  1. cに追加sum1
  2. 画面sum1
  3. リセットcsum1てゼロにする

これにより、たとえば、タップ4 + 5 + 6 =して表示することができます。15

于 2012-10-31T21:10:22.317 に答える