계산기 어플 // 소스 관련 질문입니다
푸르나
안녕하세요 과제용이 아닌 안드로이드 개인 공부용으로 막힌 부분이 있습니다.
주석좀 간단하게 달아주시면 공부에 많은 도움이 되겠습니다 ㅠㅠ
Button.OnClickListener mClickListener = new Button.OnClickListener() {
public void onClick(View v) {
switch(v.getId()) {
// Set Number Buttons
case R.id.Btn01:
if(op.getText().toString().equals() && !(num1.getText().toString().equals())) {
et.setText();
num1.setText();
}
et.append(1);
break;
case R.id.Btn02:
if(op.getText().toString().equals() && !(num1.getText().toString().equals())) {
et.setText();
num1.setText();
}
et.append(2);
break;
case R.id.Btn03:
if(op.getText().toString().equals() && !(num1.getText().toString().equals())) {
et.setText();
num1.setText();
}
et.append(3);
break;
------------------------------------------------------------------------------------이상 3번 버튼까지 이벤트입니다. 각각 어떻게 진행되는지 주석부탁드립니다
-------------------------------------------------------------------------------
case R.id.BtnDel: // Delete 1 space
Editable edit = et.getText();
int st = edit.length();
if (st 1) {
edit.delete(st-1, st);
et.setText(edit);
&nbsbsp; } else if (st = 1) {
et.setText();
} break;
// +, -, /, * Buttons
case R.id.BtnPlus:
if (!(num1.getText().toString().equals()) && !(op.getText().toString().equals()) ) {
m2=0;
if (!(et.getText().toString().equals())) m2 = Float.parseFloat(et.getText().toString());
if (op.getText().toString().equals(+)) {
result = m1 + m2;
} else if (op.getText().toString().equals(-)) {
result = m1 - m2;
} else if (op.getText().toString().equals(첨)) {
result = m1 / m2;
} else if (op.getText().toString().equals(횞)) {
result = m1 * m2;
}
intValue = (int) result;
if (result == intValue) et.setText(String.valueOf(intValue)); // remove floating point
else et.setText(String.valueOf(result));
m2=0;
}
op.setText(+);
m1 = Float.parseFloat(et.getText().toString());
num1.setText(et.getText().toString());
et.setText();
break;
case R.id.BtnMiid.BtnMinus:
if (!(num1.getText().toString().equals()) && !(op.getText().toString().equals()) ) {
m2=0;
if (!(et.getText().toString().equals())) m2 = Float.parseFloat(et.getText().toString());
if (op.getText().toString().equals(+)) {
result = m1 + m2;
} else if (op.getText().toString().equals(-)) {
result = m1 - m2;
} else if (op.getText().toString().equals(첨)) {
result = m1 / m2;
} else if (op.getText().toString().equals(횞)) {
result = m1 * m2;
}
&nbsbsp; intValue = (int) result;
if (result == intValue) et.setText(String.valueOf(intValue)); // remove floating point
else et.setText(String.valueOf(result));
m2=0;
}
&nbsbsp; op.setText(-);
m1 = Float.parseFloat(et.getText().toString());
num1.setText(et.getText().toString());
et.setText();
break;-------------------------------------------------------------------------------------------------------------
계산기 각각 버튼에 관한 이벤트 입니다 자바의X석 책을 보고 있는데 좀더 자세한 설명을 필요로 합니다
이 부분 또한 주석 부탁드립니다
-------------------------------------------------------------------------------------------------------------
if (!(num1.getText().toString().equals()) && !(op.getText().toString().equals()) ) {
m2=0;
if (!(et.getText().toString().equals())) m2 = Float.parseFloat(et.getText().toString());
if (op.getText().toString().equals(+)) {
result = m1 + m2;
} else if (op.getText().toString().equals(-)) { result = m1 - m2;
} else if (op.getText().toString().equals(첨)) {
result = m1 / m2;
} else if (op.getText().toString().equals(횞)) {
result = m1 * m2;
}
intValue = (int) result;
if (result == intValue) et.setText(String.valueOf(intValue)); // remove floating point
else et.setText(String.valueOf(result));
m2=0;
}
op.setText(첨);
m1 = Float.parseFloat(et.getText().toString());
num1.setText(et.getText().toString());
et.setText();
break;
case R.id.BtnMul:
if (!(num1.getText().toString().equals()) && !(op.getText().toString().equals()) ) {
m2=0;
if (!(et.getText().toString().equals())) m2 = Float.parseFloat(et.getText().toString());
if (op.getText().toString().equals(+)) {
result = m1 + m2;
} else if (op.getText().toString().equals(-)) {
result = m1 - m2;
} else if (op.getText().toString().equals(첨)) {
result = m1 / m2;
} else if (op.getText().toString().equals(횞)) {
result = m1 * m2;
}
intValue = (int) result;
if (result == intValue) et.setText(String.valueOf(intValue)); // remove floating point
else et.setText(String.valueOf(result));
m2=0;
}
op.setText(횞);
m1 = Float.parseFloat(et.getText().toString());
num1.setText(et.getText().toString());
et.setText();
break;
p; // Result Button
case R.id.BtnResult:
if (op.getText().toString().equals()) {
et.setText();
m1=0;
m2=0;
num1.setText();
break;
} else {
m2=0;
if (!(et.getText().toString().equals())) m2 = Float.parseFloat(et.getText().toString());
if (op.getText().toString().equals(+)) {
result = m1 + m2;
} else if (op.getText().toString().equals(-)) {
result = m1 - m2;
} else if (op.getText().toString().equals(첨)) {
result = m1 / m2;
} else if (op.getText().toString().equals(횞)) {
result = m1 * m2;
}
intValue = (int) result;
if (result == intValue) et.setText(String.valueOf(intValue)); // remove floating point
else et.setText(String.valueOf(result));
m1=0; m2=0;
op.setText();
p; num1.setText(et.getText().toString());
break;
}
} // close switch
} // close onClick
}; // close mClickListener
}
----------------------------------------------------------------------------------------------------------------
사칙연산에 대한 유동적인 부분에 대한 추가 설명도 듣고 싶습니다.. 혼자 공부하는데 많은 어려움이 있네요
그래도 관심있는 분야라서 하나하나 주석달면서 공부하는데 많은 공부가 됩니다 한줄한줄이라도
간단한 주석 부탁드립니다.
계산기 어플 다뤄보신다거나 내용에 대해서 아시는 분이라면 메일주소 댓글로 부탁드리겠습니다
간단한 추가 설명좀 해주실수 있을까요?? 날이 많이 더운데 좋은 하루 보내세요