안녕하세요, 작가 J입니다. 자바 페스티벌 콘텐츠는 비교적 간단하기 때문에, 오늘은 문제 2까지 포스팅하겠습니다.
[Java Festival 02] 시급 계산기 구현하기: 초과 근무 시급 계산 프로그램
일할 시간을 입력받아 총 임금을 계산하는 시급 계산기입니다. 시급은 5000원이며 8시간보다 초과 근무한 시간에 대해 1.5배의 시급이 책정됩니다.
위 문제 또한 분석해 보겠습니다. 어떻게 보면 페스티벌 1번 문제보다 더 간단한 것 같습니다.
문제 요약:
- 일할 시간을 입력받아 총 임금을 계산하는 시급 계산기를 구현
- 기본 시급은 5000원
- 8시간을 초과 근무한 시간에 대해서는 1.5배의 시급 적용
이 프로그램을 통해 Java의 입력 처리, 조건문, 그리고 간단한 산술 연산을 배우실 수 있습니다. 일한 시간을 입력받고 시급을 곱해서 임금을 계산하는 것은 대부분 쉽게 하실 수 있습니다. 문제는 8시간 초과 근무 수당에 관한 것인데, 이는 조건문을 통해서 처리 가능합니다.
제 풀이를 첨부하겠습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("일한시간을 입력하세요 : ");
int workTime = sc.nextInt(); // 근무시간 입력
int pay = 0; // 임금 변수
// 8시간 초과 근무시
if (workTime > 8) {
pay = (5000 * 8); // 기본 8시간 임금
pay += (workTime - 8) * (5000 * 1.5); // 초과 근무 임금
} else { //8시간 이하 근무시
pay = (workTime * 5000);
}
System.out.println("총 임금은 " + pay + "원 입니다.");
}
}
수업을 들을 때는 저도 삼항 연산자를 사용해 처리했지만, 그렇게 하면 소스 코드 줄 수는 줄어들 수 있습니다. 그러나 다른 사람이 보기에 매우 불편하며, 가독성도 좋지 않습니다. 따라서 8시간 초과 근무 시 해당하는 계산을 나눠서 처리해 보았습니다. 이 문제에서 주의할 점은 '초과'라는 단어입니다. 초과는 반드시 '>' 기호를 사용해야 합니다.
이 코드를 직접 실행해 보시고, 이해가 잘 되지 않는 부분이 있다면 언제든지 질문해 주세요. 여러분에게 도움이 되길 바랍니다. 감사합니다!
'프로그래밍 기초 > Java Festival' 카테고리의 다른 글
[Java Festival] 05. 입력받은 행 개수에 따라 별 출력하기 (0) | 2024.06.22 |
---|---|
[Java Festival] 04. 거스름돈 문제 해결하기 (0) | 2024.06.21 |
[Java Festival] 03. 1부터 100까지 번갈아 더하고 빼는 문제 해결하기 (0) | 2024.06.21 |
[Java Festival] 01. 다이어트 프로그램 구현하기: 목표 몸무게 달성 프로그램 (0) | 2024.06.16 |
[Java Festival] 프로그램 소개 및 룰 설명 (0) | 2024.06.15 |