请编写程序,根据个人收入和起征点计算个人所得税。
个人所得税按月收入扣除起征点后的余额:
1500 元以内的部分按 3% 征税;
1500 ~ 4500 元的部分按 10% 征税;
4500 ~ 9000 元的部分按 20% 征税;
9000 ~ 35000 元的部分按 25% 征税;
35000 ~ 55000 元的部分按 30% 征税;
55000 ~ 80000 元的部分按 35% 征税;
80000 元以上的部分按 45% 征税。
例如:某程序员月收入为11052.3 元。假设起征点为 5000 元,则扣除起征点以后的余额 6052.3 元需要纳税。其中前 1500 元按 3% 纳税 45 元,1500 ~ 4500 之间的 3000 元按 10% 纳税 300 元,4500 ~ 9000 元之间的 1552.3 元按 20% 纳税 183.50 元,应纳税款合计为:
1500 × 3% + (4500-1500) × 10% + (6052.3-4500) × 20% =
0 + 45 + 300 + 310.46 = 655.46(元)
输入格式:
输入月收入和起征点,数据类型均为浮点型,中间使用空格隔开。
输出格式:
输出纳税金额,结果保留两位小数。
输入样例1:
在这里给出一组输入。例如:
11052.3
5000.0
输出样例2:
在这里给出相应的输出。例如:
655.46
输入样例2:
在这里给出一组输入。例如:
48000.0
10000.0
输出样例1:
在这里给出相应的输出。例如:
8645.00
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double income = sc.nextDouble();
double begin = sc.nextDouble();
double tax = 0;
double pure = income - begin;
if(income >= begin) {
if(pure<=1500){
tax = pure * 0.03;
}
else if(pure<=4500){
tax = 1500*0.03+(pure-1500)*0.1;
}
else if(pure<=9000){
tax = 1500*0.03+3000*0.1+(pure-4500)*0.2;
}
else if(pure<=35000){
tax = 1500*0.03+3000*0.1+4500*0.2+(pure-9000)*0.25;
}
else if(pure<=55000){
tax = 1500*0.03+3000*0.1+4500*0.2+26000*0.25+(pure-35000)*0.30;
}
else if(pure<=80000){
tax = 1500*0.03+3000*0.1+4500*0.2+26000*0.25+20000*0.30+(pure-55000)*0.35;
}
else if(pure>80000){
tax = 1500*0.03+3000*0.1+4500*0.2+26000*0.25+20000*0.30+25000*0.35+(pure-80000)*0.45;
}
}
System.out.printf("%.2f", tax);
sc.close();
}
}