계산기 어플 // 소스 관련 질문입니다
푸르나
안녕하세요 과제용이 아닌 안드로이드 개인 공부용으로 막힌 부분이 있습니다.
주석좀 간단하게 달아주시면 공부에 많은 도움이 되겠습니다 ㅠㅠ
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
}
----------------------------------------------------------------------------------------------------------------
사칙연산에 대한 유동적인 부분에 대한 추가 설명도 듣고 싶습니다.. 혼자 공부하는데 많은 어려움이 있네요
그래도 관심있는 분야라서 하나하나 주석달면서 공부하는데 많은 공부가 됩니다 한줄한줄이라도
간단한 주석 부탁드립니다.
계산기 어플 다뤄보신다거나 내용에 대해서 아시는 분이라면 메일주소 댓글로 부탁드리겠습니다
간단한 추가 설명좀 해주실수 있을까요?? 날이 많이 더운데 좋은 하루 보내세요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2654874 | 제이쿼리랑 자바스크립트 학원 추천좀부탁드릴게요 (7) | 향율 | 2024-05-14 |
2654843 | 탭버튼 코딩시 마우스오버가 접근성에 왜 어긋나는지 궁금합니다... (1) | 걸때 | 2024-05-14 |
2654814 | 중국어 인코딩 관련해서 질문요,,, (5) | 화이트캣 | 2024-05-14 |
2654783 | 이 알고리즘 한줄한줄 해석좀 부탁드립니다. (1) | 요루 | 2024-05-14 |
2654764 | t 탭 질문이여. (3) | 눈 | 2024-05-13 |
2654737 | 크롬 인쇄하기 오류 (멈춤현상) | 아라 | 2024-05-13 |
2654708 | ie6에서 margin 문제 (5) | 너만 | 2024-05-13 |
2654681 | 아까 올렸던 질문의 액션코딩 (3) | 큰꽃들 | 2024-05-13 |
2654653 | 개발툴 콘솔창에 아무것도 나오지 않는데 해결좀....해주세요... (3) | 쌍둥이자리 | 2024-05-12 |
2654625 | textare 중간부터 글이 나옵니다. | 영글 | 2024-05-12 |
2654595 | C언어랑 C++ 두개만배워놓으면 (3) | 아빠몬 | 2024-05-12 |
2654543 | 드라이브 체크 어떻게 해야할까요 | 아연 | 2024-05-11 |
2654483 | 익스플로어 6과 7의 버젼에 따라서 클릭이 되지 않을 수 있나요? (1) | 히메 | 2024-05-11 |
2654431 | Invalid procedure call or argument 는 무슨뜻이죠 ;? | 날샘 | 2024-05-10 |
2654372 | 이중연결리스트 정렬 문의 드립니다. (1) | 야미 | 2024-05-10 |
2654343 | 레이어 팝업.. 흑흑 (4) | 다인 | 2024-05-10 |
2654284 | 반응형 웹에서 | HotPink | 2024-05-09 |
2654234 | 타이틀옆에 카테고리 정렬질문이요 (2) | 밤 | 2024-05-09 |
2654207 | 퍼블리셔포트폴리오질문이요! ! (2) | 훌림목 | 2024-05-08 |
2654175 | 방문자 수,포스트마다 사람들이 클릭 한 수 알 수 있는 방법 없나요? | 찬늘 | 2024-05-08 |