국비교육/국비교육 복습
Day03_condition_Test06 : 과속 단속 카메라 (나누기 연산의 몫 활용)
Luver Duck
2022. 7. 31. 17:29
(Q) 과속단속 카메라 프로그래밍
다음 요구사항에 맞는 과속단속 카메라용 프로그램을 구현하세요
- 50km/h를 초괗는 속도로 달리는 자동차를 단속합니다
- 벌금은 제한속도보다 10km/h 늘어날 때마다 10000원씩 증가
- 벌금은 시작이 30000원 입니다
- 벌금은 최대 70000원 입니다
자동차 속도를 입력받아서 예상되는 벌금을 출력하는 프로그램을 구현
package day03;
import java.lang.*;
public class Day03_condition_Test06 {
public static void main(String[] args) {
int finePerTenKm = 10000;
int initialFine = 30000;
int v = 300;
int limitV = 50;
int over = v - limitV;
int overCount = over / 10;
boolean overTF = v >= limitV;
int fine;
if(overTF) {
fine = initialFine + finePerTenKm * overCount;
if(fine >= 70000) {
fine = 70000;
}
}
else {
fine = 0;
}
System.out.println("벌금은 " + fine + "원 입니다");
}
}
1) 특정 단위당으로 무엇인가를 부과할 때 나눗셈의 몫을 생각한다
** 변수를 너무 많이 생성한 것 같다.
특히 벌금이 70000원 이하일 때 사용한 overCount 변수는 그냥 수식으로 쓰는게 더 낫지 않았을까
fine = initialFine + finePerTenKm * (over / 10);