계산기 만들기

 

 

어플 화면

 

 

 

 

 

activity_main.xml

 

 

 

LinearLayout,RelativeLayout,TableLayout을 사용한다.

 

button이 눌릴 때 발생하는 setOnClickListener를 이용하여 만든다.

 

 각 버튼이 눌렸을 때 case문으로 각각의 기능을 구현하였다.

 

 

 

ex> '='버튼

 case R.id.btn_result:
                        num_Sec = txt_result.getText().toString();
                        save += txt_result.getText().toString();
                        txt_result.setText(save);

                        Double num1 = Double.parseDouble(num_fst);
                        Double num2 = Double.parseDouble(num_Sec);

                        switch (calculate) {
                            case 1:
                                String result_1 = String.valueOf(num1 + num2);
                                txt_result.setText(result_1);
                                break;
                            case 2:
                                String result_2 = String.valueOf(num1 - num2);
                                txt_result.setText(result_2);
                                break;
                            case 3:
                                String result_3 = String.valueOf(num1 * num2);
                                txt_result.setText(result_3);
                                break;
                            case 4:
                                try {
                                    String result_4 = String.valueOf(num1 / num2);
                                    txt_result.setText(result_4);
                                }
                                catch (ArithmeticException e){
                                    Toast.makeText(getApplicationContext(),"0으로 나눌 수 없습니다", Toast.LENGTH_LONG).show();
                                }
                                break;
                            case 5:
                                try {
                                    String result_5 = String.valueOf(num1 % num2);
                                    txt_result.setText(result_5);
                                }
                                catch (ArithmeticException e) {
                                    Toast.makeText(getApplicationContext(),"0으로 나눌 수 없습니다", Toast.LENGTH_LONG).show();
                                }
                                break;

                        }
                        num_fst = txt_result.getText().toString();
                        break;

 

문제점 

8+3+4+5를 계산하면 마지막 두 숫자만 계산이 된다.. 따라서 4+5=9라는 계산결과만 나오고

이 계산기로 계산을 하려면 4+5=9+5=14 이런식으로 2번씩 끊어서 해야한다..

이를 해결해야 하기 위핸 어떻게 해야 할까?

CalculateActivity.zip
0.14MB

 

+ Recent posts