본문 바로가기

프로그래밍 언어/Java

Java programming 자바 프로그래밍 실습 : 급여 계산기

Java programming 자바 프로그래밍 실습 :급여 계산기


2021-1 성균관대학교 소프트웨어학과 타메르 교수님의 자바 프로그래밍 실습 수업을 들으면서 수행한 예제입니다

 

문제 

노동자의 시급, 초과 근무 시급, 총 근무 시간을 입력 받아 정상 임금, 초과 근무 분 임금, 총 임금을 출력하는 프로그램을 개발하라.

정상 근무 시간은 40시간이고 40시간을 초과한 시간은 초과 근무 시급을 적용하여 계산한다. 

//input
Payment for one hour ($): 20
Payment for one extra hour ($): 15
Number of hours:44

//output
Payment for regular hours ($): 800
Payment for extra hours ($): 60
Total payment ($): 860
import java.util.Scanner;

public class Task2 {
	
	public static void main(String[] args) {
		
		// declare variables to use
		// hour for payment for hour, extra for extra payment, num for number of work
		// reg_pay for regular payment, ext_pay for extra payment
		int hour, extra, num, reg_pay, ext_pay, total_pay;

		
		// declare Scanner to get input 
		Scanner input = new Scanner(System.in);
		
		System.out.print("Payment for one hour ($): ");
		hour = input.nextInt();
		
		System.out.print("Payment for one extra hour ($): ");
		extra = input.nextInt();
		
		System.out.print("Number of hours: ");
		num = input.nextInt();
		
		input.close();
		
		// if the number of hour is over 40, extra payment should be calculated. 
		if (num > 40) {
			reg_pay = 40*hour;
			// extra working hour is num - 40(regular hour) 
			ext_pay = (num-40)*extra;	
		}
		// else if the number of hour is under 40, extra payment is 0 and no need to be calculated.
		else {
			reg_pay = num * hour;
			ext_pay = 0;
		}
		// total payment is sum of regular payment and extra payment
		total_pay = reg_pay + ext_pay;
		
		// print results 
		System.out.println("Payment for regular hours ($): " + reg_pay );
		System.out.println("Payment for extra hours ($): " + ext_pay);
		System.out.println("Total payment ($): " + total_pay);
		
	}

}