취지가 오류없는 실제 쓸수있는 계산기를 만들자는생각으로 하는데
"="버튼 을 도저히 못잡겠습니다..
각각 버튼을 누를때마다 담을 List<String> num1 = new ArrayList<String>();
한 숫자가 완성되고 부호를 눌렀을경우 합쳐져서 저장되는 List<Double> num2 = new ArrayList<Double>();
그리고 따로 부호를 적을떄마다 드 List<String> bu = new ArrayList<String>();이고
계산 과정을 적을 TextView kea;
계산 결과를 적을 TextView result;까지만들었습니다
StringBuffer sb = new StringBuffer(); 를 선언해서 append시킬때 사용했고
setOnClickListener를 이용해서 getid를 얻어서 switch-case 문을 이용해서
했고 0~9까진
if (kea.getText().toString().equals("")) {
kea.setText("1");
num1.add("1");
break;
}
이와같이 num1 에 하나하나 적용한뒤
부호를 누르게되면
case R.id.btmu:
if (kea.getText().toString().equals("")) {
break;
}
if (!(kea
.getText()
.toString()
.substring(kea.getText().toString().length() - 1,
kea.getText().toString().length()).equals("+"))) {
if (!(kea
.getText()
.toString()
.substring(kea.getText().toString().length() - 1,
kea.getText().toString().length()).equals("-"))) {
if (!(kea
.getText()
.toString()
.substring(kea.getText().toString().length() - 1,
kea.getText().toString().length())
.equals("*"))) {
if (!(kea
.getText()
.toString()
.substring(
kea.getText().toString().length() - 1,
kea.getText().toString().length())
.equals("/"))) {
for (int i = 0; i < num1.size(); i++) {
sb.append(num1.get(i));
}
num2.add(Double.parseDouble(sb.toString()));
bu.add("*");
kea.setText(kea.getText() + "*");
num1.clear();
sb = null;
break;
}
break;
}
break;
}
break;
}
break;
kea에서 텍스트가 있을경우엔 아무것도 하지않고
있을경우에 가장뒤에있는 숫자가 일단 부호인지 확인하고 확인후 num1의 사이즈만큼 for문을 이용해 sb에 append시켰습니다..
그리고 append시킨 sb값을 num2에 추가했구요..그릭 부호에 새롭게 추가 후 num1를 초기화시켰습니다..
이론상으론 완벽한데 그다음이 문제네요 "="버튼을 어떠케 처리해야될지 도저히 모르겠습니다 도움좀 부탁드릴께요!!ㅜㅜ



