카테고리 없음

숙제- 월급구하기(method, BufferedReader)

이건탁 2020. 9. 9. 02:03
728x90
 월급 계산 프로그램
이름, 직급, 기본급, 수당을 입력하여 세금과 월급을 계산하시오
세율은 급여가 4,000,000 만원 이상이면 3% 아니면 2%로 한다

만약 이 문제를 다 풀었다면
세금은 calcTax()
월급은 calcSalary()를 이용해서 계산하시오

급여 = 기본급 + 수당
세금 = 급여 * 세율
월급 = 급여 - 세금

[실행결과]
이름 입력 : 홍길동
직급 입력 : 부장
기본급 입력 : 4500000
수당 입력 : 200000

   *** 홍길동 월급 명세서 ***
직급 : 부장
기본급      수당      급여   세율   세금   월급
4500000      200000     4700000   3%   xxxxx   xxxxxxx
package method;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
//기본급(basePay), 수당(allowance), 급여(wage), 세율(taxRate), 세금(tax), 월급(salary)

public class Salary {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String name, grade; 
		int wage=0 ,salary=0, basePay=0, allowance=0, tax=0; 
		double taxRate =0;
		
		System.out.print("이름 입력 : ");
		name = br.readLine();
		System.out.print("직급 입력 : ");
		grade = br.readLine();
		System.out.print("기본급 입력 : ");
		basePay = Integer.parseInt(br.readLine());
		System.out.print("수당 입력 : ");
		allowance = Integer.parseInt(br.readLine());
		
		wage = basePay + allowance;
		taxRate = wage >= 4000000 ? 0.03 : 0.02;
		tax = (int) (wage*taxRate);
		salary = wage - tax;
		
		
		System.out.println("\t*** "+name+"월급 명세서 ***");
		System.out.println("직급 : "+grade);
		System.out.println("기본급\t수당\t급여\t세율\t세금\t월급");
		System.out.println(basePay+"\t"
						+allowance+"\t"
						+wage+"\t"
						+(int)(taxRate*100)+"%\t"
						+tax+"\t"
						+salary);
		
	}

}

메소드를 이용한 방법

package method;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Salary02 {

	public int calcTax(int a, double b) {
		return (int) (a * b);
	}

	public int calcSalary(int a, int b) {
		return a - b;
	}

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		Salary02 salary02 = new Salary02();

		String name, grade;
		int wage = 0, salary = 0, basePay = 0, allowance = 0, tax = 0;
		double taxRate = 0;

		System.out.print("이름 입력 : ");
		name = br.readLine();
		System.out.print("직급 입력 : ");
		grade = br.readLine();
		System.out.print("기본급 입력 : ");
		basePay = Integer.parseInt(br.readLine());
		System.out.print("수당 입력 : ");
		allowance = Integer.parseInt(br.readLine());

		wage = basePay + allowance;
		taxRate = wage >= 4000000 ? 0.03 : 0.02;
		tax = salary02.calcTax(wage, taxRate);
		salary = salary02.calcSalary(wage, tax);

		System.out.println("\t*** " + name + "월급 명세서 ***");
		System.out.println("직급 : " + grade);
		System.out.println("기본급\t수당\t급여\t세율\t세금\t월급");
		System.out.println(basePay + "\t" 
						+ allowance + "\t" 
						+ wage + "\t" 
						+ String.format("%.0f", taxRate * 100) + "%\t" 	
						+ tax + "\t" 
						+ salary);

	}
}
728x90