(Q) KH PC방에서는 1시간에 1200원의 요금을 받고 있습니다.
만약 요금이 10원단위로 나올 경우 해당 요금은 받지 않습니다
(ex) 1250원이면 1200원만 받습니다
12시 40분부터 16시 10분까지 이용한 고객의 요금을 출력
package day02;
import java.lang.*;
public class Day02_data_Test09 {
public static void main(String[] args) {
int pricePerHour = 1200;
int inHour = 12;
int inMinute = 40;
int outHour = 16;
int outMinute = 10;
int inTime = inHour * 60 + inMinute;
int outTime = outHour * 60 + outMinute;
int totalTime = outTime - inTime;
int totalPrice = pricePerHour * totalTime / 60;
int netPrice = totalPrice / 100 * 100;
System.out.println(netPrice);
}
}
1) 10원 단위 제거
- 1시간당 1200원이므로 1분당 20원임을 알 수 있다
- 5분당 100원이 되므로 totalTime을 60으로 나눈 나머지가 5분 이내의 경우에 대해서 10원 단위의 금액이 발생할 수 있다
- 산술 연산자 *, /와 10의 거듭제곱을 사용하면 특정 단위 이하를 버릴 수 있다
ex) 1024에서 10의 자리 이하를 버리려고 한다면
int에 1024를 저장하여 100으로 나누면 10.24의 0.24 부분이 버림되며 이를 다시 100으로 곱하면 1000이 된다
- 이를 이용하여 총 요금의 10원 단위의 금액을 버릴 수 있다
'국비교육 > 국비교육 복습' 카테고리의 다른 글
Day02_data_Test14 : BMI 수치 계산 (형 변환 + 소수점 표기) (★) (0) | 2022.07.31 |
---|---|
Day02_data_Test13 : 나누기 연산 + 형 변환 (★) (0) | 2022.07.31 |
Day02_data_Test08 : 나누기 연산의 몫과 나머지 (0) | 2022.07.30 |
Day02_data_Test05 : 커피숍 판매 금액 계산 (0) | 2022.07.30 |
Day02_data_Test04 : 영화관 요금 계산 (0) | 2022.07.30 |