복습
안드로이드스튜디오 - 계산기 본문
계산기 구현하기
- 사진과 같이 버튼, 에딧텍스트, 텍스트뷰로 화면을 구현하였다.
- 더하기, 빼기, 곱하기, 나누기, 나머지의 기능을 넣었다.
- 실수를 계산할 수 있고, 소숫점 2번째자리까지 출력한다.
자바 코드
※변수선언생략
버튼의 기능 구현하기
빼기 버튼 구현
btnSub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
num1 = edit1.getText().toString();
num2 = edit2.getText().toString();
if(num1.trim().equals("")||num2.trim().equals("")){
Toast.makeText(MainActivity.this,"값을 입력하세요.",Toast.LENGTH_SHORT).show();
} else {
result = Double.parseDouble(num1) - Double.parseDouble(num2);
result = (int)(result*100)/100.0;
textResult.setText("계산 결과 : " + result.toString());
}
}
});
- OnClickListener를 이용하여 버튼이 눌러졌을 때 기능을 수행한다.
- String 타입의 변수 num1,num2에 각각 에딧텍스트에 있는 두 숫자를 받아온다.
- 조건문을 사용해 공백을 제거하고 값이 입력되지 않은 경우 값을 입력하라는 토스트 메시지가 출력된다.
- 값이 제대로 입력되면 실수를 처리해야 하므로 Double타입으로 변환하여 연산한다.
- 연산한 결과를 100을 곱하고 int형으로 변환하여 나머지 소숫점을 제거한 후 다시 100.0으로 나누어 Double형으로 변환하여 소숫점 2번째 짜리까지 출력한다.
- 결과를 텍스트뷰에 setText()메서드를 이용하여 결과를 출력한다.
나누기 버튼 구현
btnDiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
num1 = edit1.getText().toString();
num2 = edit2.getText().toString();
if(num1.trim().equals("")||num2.trim().equals("")){
Toast.makeText(MainActivity.this,"값을 입력하세요.",Toast.LENGTH_SHORT).show();
}
else {
if(num2.trim().equals("0")){
Toast.makeText(getApplicationContext(),"0으로 나눌 수 없습니다.",Toast.LENGTH_SHORT).show();
}else {
result = Double.parseDouble(num1) / Double.parseDouble(num2);
result = (int) (result * 100) / 100.0;
textResult.setText("계산 결과 : " + result.toString());
}
}
}
});
- 빼기 연산과 동일하지만 값이 입력되었을 때 나누기 연산이므로 0을 처리해준다.
- 나누는 수에 0이 입력되면 0으로 나눌 수 없다는 토스트 메시지를 출력한다.
- 0이 아니라면 위와 같은 방식으로 나누기 연산을 하여 결과를 출력한다.
※ 나머지 버튼의 기능의 방식은 동일하므로 생략
'Android' 카테고리의 다른 글
안드로이드 스튜디오 - 자동완성텍스트뷰(멀티) (0) | 2020.07.06 |
---|---|
안드로이드 스튜디오 - 날짜/시간 예약 앱 만들기 (0) | 2020.07.06 |
안드로이드 스튜디오 - XML 없이 화면 코딩하기 (0) | 2020.07.02 |
레이아웃(Layout) - Linear, Relative, Grid, Table, Frame (0) | 2020.07.02 |
안드로이드스튜디오 - 안드로이드 버전 고르기 (0) | 2020.06.30 |