연소득 과세금액 계산 프로그램
- 수행 목적 : Scanner의 입력함수와 조건문 및 반복문과 배열, 함수를 통한 과세 로직 작성
- 간략 소개 : 대한민국 헌법은 국민의 의무와 권리를 규정하고 있습니다. 이중 납세의 의무는 국민의 3대 의무 중 하나입니다. 모든 국민은 1년 동안 열심히 번 소득에 대해서 세금을 납부하여야 합니다. 이런 소득에 대한 소득세율표가 있습니다. 주어진 표를 기준으로 해서 소득에 대한 세금을 구하는 프로그램을 작성해 보세요.
※ 필수 준수사항
1. 연소득 금액 입력
2. 주어진 종합소득세율표를 통한 조건 생성
설명)
1,000만원 소득인 경우는 과세표준이 1,200만원 이하 이기 때문에 세율을 6%로 계산한 결과인 60만원의 세금이 부과됨
1,500만원 소득의 경우는 과세표준 구간이 15% 세율이기 때문에 15%로 계산하는게 아니라
1,200만원까지는 6%의 세율로 계산하고 그 외만 15%로 계산해서 합계를 냄.
이 때, 누진공제 금액을 이용할 수 있는데 1,500만원에 15% 세율로 계산한 금액 225만원에 누직공제 금액을 빼면
세금계산과 동일한 금액입니다.


작성 코드
// 연소득 과세금액 계산 프로그램
import java.util.Scanner;
public class Income {
public static int resulttax(int money) { //세율에 의한 세금 함수
// {}이하 - {}초과 계산
int[] taxbase = {12000000, 34000000, 42000000, 62000000, 150000000, 200000000, 500000000, 1000000000};
int [] tariff = {6, 15, 24, 35, 38, 40, 42, 45}; // 세율
int totaltax = 0; // 세금 총합
int change = money; // 남은 돈
int i = 0;
while(change-taxbase[i]>0) {
totaltax = totaltax + (int)(taxbase[i] * tariff[i])/100;
change = change - taxbase[i];
System.out.printf("\t%d * %d%% = \t%d\n", taxbase[i], tariff[i], (taxbase[i]*tariff[i])/100);
i++;
}
totaltax = totaltax + (int)(change * tariff[i])/100;
System.out.printf("\t%d * %d%% = \t%d\n", change, tariff[i], (change*tariff[i])/100);
return totaltax;
}
public static int resulttax2(int money) { //누진공제에 의한 세금 함수
if(money>12000000 && money<=46000000)
{
money *= 0.15;
money -= 1080000;
} else if (money>46000000 && money<=88000000) {
money *= 0.24;
money -= 5220000;
} else if (money>88000000 && money<=150000000) {
money *= 0.35;
money -= 14900000;
} else if (money>150000000 && money<=300000000) {
money *= 0.38;
money -= 19400000;
} else if (money>300000000 && money<=500000000) {
money *= 0.40;
money -= 25400000;
} else if (money>500000000 && money<=1000000000) {
money *= 0.42;
money -= 35400000;
} else if (money>1000000000) {
money *= 0.45;
money -= 65400000;
}
return money;
}
public static void main(String[] args)
{
int money = 0;
int numoney = 0;
int etc = 0;
System.out.println("[과세금액 계산 프로그램]");
System.out.print("연소득을 입력해 주세요.:");
Scanner sc = new Scanner(System.in);
money = sc.nextInt();
etc = money;
if(etc <= 12000000)
{
money = (etc * 6) / 100;
System.out.printf("%d * 6%%\n", etc);
}
else {
money = resulttax(etc); // 세율에 의한 세금 함수 resulttax
numoney = resulttax2(etc); // 누진공세 계산에 의한 세금 함수 resulttax2
}
System.out.println();
System.out.printf("[세율에 의한 세금]:%19d\n" , money);
System.out.printf("[누진공제 계산에 의한 세금]:%12d" , Math.round(numoney));
}
}
https://gist.github.com/coha96/69001e07de9acb8c200398a4641fd768
'JAVA > 백엔드_미니과제' 카테고리의 다른 글
| 로또 당첨 프로그램 (0) | 2023.03.10 |
|---|---|
| 가상 대선 당선 시뮬레이션 프로그램 (0) | 2023.03.10 |
| 달력 출력 프로그램 (0) | 2023.03.08 |
| 주민등록번호 생성 프로그램 (0) | 2023.03.07 |
| 놀이동산 입장권 계산 프로그램 (0) | 2023.03.07 |