package 控制流程;
import java.text.NumberFormat;
import java.util.Scanner;
//已知:
//工资个税的计算公式为:应纳税额 = (工资薪金所得 - 五险一金个人负担部分 - 扣除税)* 适用税率 - 速算扣除数)(这里设五险一金的个人负担部分是你工资薪金所得的10%)
//2011年 9月1日起调整后的7级超额累进税率:扣除数为:3500元
// 全月应纳税所得额 税率 速算扣除数(元)
// 小于1500元 3% 0
// 1500~4500 10% 105
// 4500~9000 20% 555
// 9000~35000 25% 1005
// 35000~55000 30% 2755
// 55000~80000 35% 5505
// 大于80000元 45% 13505
public class Case12_个税计算器 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入您的税前工资:");
double salary = in.nextDouble();
if(salary<0) {
System.out.println("您是在开玩笑吗?");
System.exit(0); //退出当前程序
}
//应纳所得税
double taxableIncome = salary - salary * 0.1 -3500;
double taxRate = 0;
double deduct = 0;
double tax = 0;
if(taxableIncome <= 0) {
System.out.println("您的工资太低了,不用缴税!");
System.exit(0); //退出当前程序
}
if(taxableIncome <= 1500) {
taxRate = 0.03;
deduct = 0;
}else if(taxableIncome <= 4500) {
taxRate = 0.1;
deduct = 105;
}else if(taxableIncome <= 9000) {
taxRate = 0.2;
deduct = 555;
}else if(taxableIncome <= 35000) {
taxRate = 0.25;
deduct = 1005;
}else if(taxableIncome <= 55000) {
taxRate = 0.3;
deduct = 2755;
}else if(taxableIncome <= 80000) {
taxRate = 0.35;
deduct = 5505;
}else {
taxRate = 0.45;
deduct = 13505;
}
NumberFormat nFormat = NumberFormat.getNumberInstance(); //规则化
nFormat.setMaximumFractionDigits(2); //设置小数点后面位数为2
tax = taxableIncome * taxRate - deduct;
System.out.println("应纳税所得额:"+ nFormat.format(taxableIncome) + "税率:" + taxRate + " 速算扣除数:"+ deduct);
System.out.println("应纳税额:"+ nFormat.format(tax));
System.out.println("实发工资:" + nFormat.format(salary * 0.9 -tax));
}
}
Java初学笔记——18.Case12_个税计算
于 2022-05-16 23:09:29 首次发布