0

I have the basic numbers working 0-9 and the code i have is

    public class MainActivity extends AppCompatActivity {


    Button button0 , button1 , button2 , button3 , button4 , button5 , button6 ,
            button7 , button8 , button9 , buttonAdd , buttonSub , buttonDivision,
            buttonMul , button10 , buttonC , buttonEqual ;

    TextView txtView ;

    float num1 = 0;
    float num2 = 0;
    float sum = 0;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            button0 = (Button) findViewById(R.id.button0);
            button1 = (Button) findViewById(R.id.button1);
            button2 = (Button) findViewById(R.id.button2);
            button3 = (Button) findViewById(R.id.button3);
            button4 = (Button) findViewById(R.id.button4);
            button5 = (Button) findViewById(R.id.button5);
            button6 = (Button) findViewById(R.id.button6);
            button7 = (Button) findViewById(R.id.button7);
            button8 = (Button) findViewById(R.id.button8);
            button9 = (Button) findViewById(R.id.button9);
            button10 = (Button) findViewById(R.id.button10);
            buttonAdd = (Button) findViewById(R.id.buttonadd);
            buttonSub = (Button) findViewById(R.id.buttonsub);
            buttonMul = (Button) findViewById(R.id.buttonmul);
            buttonDivision = (Button) findViewById(R.id.buttondiv);
            buttonC = (Button) findViewById(R.id.buttonC);
            buttonEqual = (Button) findViewById(R.id.buttoneql);
            txtView = (TextView) findViewById(R.id.txtView);


            button1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txt.setText(txt.getText()+"1");
                }
            });

            button2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"2");
                }
            });

            button3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"3");
                }
            });

            button4.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"4");
                }
            });

            button5.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"5");
                }
            });

            button6.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"6");
                }
            });

            button7.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"7");
                }
            });

            button8.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"8");
                }
            });

            button9.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(txtView.getText()+"9");
                }
            });

However ever when i try to do my add function the app crashes. It seems like a simple thing but other examples i've seen are more complex. My addition code is...

    buttonAdd.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    num1 = Float.parseFloat(txtView.getText().toString());
                    num2 = Float.parseFloat(txtView.getText().toString());
                    sum = num1 + num2;
                }
            });

And then when the equal button is pushed my code is as followed. This is the part that is not working for me.

 buttonEqual.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    txtView.setText(Float.toString(sum));
                }
            });

And this causes the app to crash. Any help? Thanks

Ryan
  • 29
  • 1
  • 8

2 Answers2

0

I think in your buttonAdd function is a mistake.

num1 = Float.parseFloat(txtView.getText().toString());
num2 = Float.parseFloat(txtView.getText().toString());

While you execute your code, num1 and num2 are equal.

Pepe Bellin
  • 85
  • 1
  • 12
  • Yes you are right. But it has nothing to do with `NullPointerException` – Nikhil Sep 09 '16 at 14:40
  • hmm. that makes sense cause when i hit add i've only entered one number so i cant store 2. I might have to try getting the second number on the equals button click – Ryan Sep 09 '16 at 14:44
0

I dont understand your error. but there is no problem, just you must change btnAdd and btnEqual Can you try this?

buttonAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                num1 = Float.parseFloat(txtView.getText().toString());
                txtView.setText("");
            }
        });


buttonEqual.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                num2 = Float.parseFloat(txtView.getText().toString());
                sum = num1 + num2;
                txtView.setText(Float.toString(sum));
            }
        });
Volkan Sonmez
  • 745
  • 3
  • 14