请编写程序,根据个人收入和起征点计算个人所得税。
个人所得税按月收入扣除起征点后的余额:
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(元)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
double ysr = in.nextDouble();
double qzd = in.nextDouble();
if(ysr<=qzd) {
double s = 0;
System.out.printf(String.format("%.2f", s));
}
else if(ysr-qzd<=1500){
double s = (ysr-qzd)*0.03;
System.out.printf(String.format("%.2f", s));
}
else if((ysr-qzd>1500)&&(ysr-qzd<=4500)){
double s = 1500*0.03+(ysr-qzd-1500)*0.10;
System.out.printf(String.format("%.2f", s));
}
else if((ysr-qzd>4500)&&(ysr-qzd<=9000)){
double s = 1500*0.03+(4500-1500)*0.10+(ysr-qzd-4500)*0.20;
System.out.printf(String.format("%.2f", s));
}
else if((ysr-qzd>9000)&&(ysr-qzd<=35000)){
double s = 1500*0.03+(4500-1500)*0.10+(9000-4500)*0.20+(ysr-qzd-9000)*0.25;
System.out.printf(String.format("%.2f", s));
}
else if((ysr-qzd>35000)&&(ysr-qzd<=55000)){
double s = 1500*0.03+(4500-1500)*0.10+(9000-4500)*0.20+(35000-9000)*0.25+(ysr-qzd-35000)*0.30;
System.out.printf(String.format("%.2f", s));
}
else if((ysr-qzd>55000)&&(ysr-qzd<=80000)){
double s = 1500*0.03+(4500-1500)*0.10+(9000-4500)*0.20+(35000-9000)*0.25+(55000-35000)*0.30+(ysr-qzd-55000)*0.35;
System.out.printf(String.format("%.2f", s));
}
else if(ysr-qzd>80000){
double s = 1500*0.03+(4500-1500)*0.10+(9000-4500)*0.20+(35000-9000)*0.25+(55000-35000)*0.30+(80000-55000)*0.35+(ysr-qzd-80000)*0.45;
System.out.printf(String.format("%.2f", s));
}
}
}