个税计算器

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Scanner;

public class tax {
public static void main(String[] args) {
System.out.println("个税计算器\n请输入税前工资");
Scanner sc = new Scanner(System.in);
DecimalFormat decimalFormat = new DecimalFormat("#.00");
// 创建一个DecimalFormat 对象,并指定格式模式

BigDecimal taxAmountPayable = new BigDecimal(0);
// 应纳税额

BigDecimal salary = sc.nextBigDecimal();
// 税前工资

BigDecimal afterTaxIncome = new BigDecimal(0);
// 税后工资

BigDecimal salary1 = salary.subtract(salary.multiply(new BigDecimal(0.1))).subtract(new BigDecimal(5000));
// 应纳税部分的工资

if (salary1.compareTo(new BigDecimal(3000)) == -1 && salary1.compareTo(new BigDecimal(0)) == 1){
taxAmountPayable = salary1.multiply(new BigDecimal(0.03));
afterTaxIncome = (salary.subtract(salary).multiply(new BigDecimal(0.1)).subtract(salary1).multiply(new BigDecimal(0.03)));
}
// 0 ~ 3000元的部分,交税3%

else if (salary1.compareTo(new BigDecimal(12000)) == -1 && salary1.compareTo(new BigDecimal(3000)) == 1){
taxAmountPayable = ((salary1.subtract(new BigDecimal(3000))).multiply(new BigDecimal(0.1)).add(new BigDecimal(90)));
afterTaxIncome = (salary.subtract((salary).multiply(new BigDecimal(0.1))).subtract(((salary1.subtract(new BigDecimal(3000))).multiply(new BigDecimal(0.1)).add(new BigDecimal(3000*0.03)))));
}
// 3000 ~ 12000元的部分,交税10%

else if (salary1.compareTo(new BigDecimal(25000)) == -1 && salary1.compareTo(new BigDecimal(12000)) == 1){
taxAmountPayable = salary1.subtract(new BigDecimal(12000)).multiply(new BigDecimal(0.2)).add(new BigDecimal(990));
afterTaxIncome = salary.subtract(salary).multiply(new BigDecimal(0.1)).subtract(salary1.subtract(new BigDecimal(12000))).multiply(new BigDecimal(0.2)).subtract(new BigDecimal(990));
}
// "税后到手"+(salary-salary*0.1-(990+(salary1-12000)*0.2)));
// 12000 ~ 25000的部分 , 交税20%

else if (salary1.compareTo(new BigDecimal(35000)) == -1 && salary1.compareTo(new BigDecimal(25000)) == 1){
taxAmountPayable = salary1.subtract(new BigDecimal(25000)).multiply(new BigDecimal(0.25)).add(new BigDecimal(3590));
afterTaxIncome = salary.subtract(salary).multiply(new BigDecimal(0.1)).subtract(salary1.subtract(new BigDecimal(25000))).multiply(new BigDecimal(0.25)).subtract(new BigDecimal(3590));
}
// "税后到手"+(salary-salary*0.1-(3000*0.03+9000*0.1+13000*0.2+(salary1-25000)*0.25)));
// 25000 ~ 35000的部分,交税25%

else if (salary1.compareTo(new BigDecimal(55000)) == -1 && salary1.compareTo(new BigDecimal(35000)) == 1){
taxAmountPayable = salary1.subtract(new BigDecimal(35000)).multiply(new BigDecimal(0.3)).add(new BigDecimal(6090));
afterTaxIncome = salary.subtract(salary).multiply(new BigDecimal(0.1)).subtract(salary1.subtract(new BigDecimal(35000))).multiply(new BigDecimal(0.3)).subtract(new BigDecimal(6090));
}
// "税后到手"+(salary-salary*0.1-(3000*0.03+9000*0.1+13000*0.2+10000*0.25+(salary1-35000)*0.3)));
// 35000 ~ 55000的部分,交税30%

else if (salary1.compareTo(new BigDecimal(80000)) == -1 && salary1.compareTo(new BigDecimal(55000)) == 1){
taxAmountPayable = salary1.subtract(new BigDecimal(55000)).multiply(new BigDecimal(0.35)).add(new BigDecimal(12090));
afterTaxIncome = salary.subtract(salary).multiply(new BigDecimal(0.1)).subtract(salary1.subtract(new BigDecimal(55000))).multiply(new BigDecimal(0.35)).subtract(new BigDecimal(12090));
}
// "税后到手"+(salary-salary*0.1-(3000*0.03+9000*0.1+13000*0.2+10000*0.25+20000*0.3+(salary1-55000)*0.35)));
// 55000 ~ 80000的部分,交税35%

else if (salary1.compareTo(new BigDecimal(80000)) == 1){
taxAmountPayable = salary1.subtract(new BigDecimal(80000)).multiply(new BigDecimal(0.45)).add(new BigDecimal(20840));
afterTaxIncome = salary.subtract(salary).multiply(new BigDecimal(0.1)).subtract(salary1.subtract(new BigDecimal(80000))).multiply(new BigDecimal(0.45)).subtract(new BigDecimal(20840));
}
// "税后到手"+(salary-salary*0.1-(3000*0.03+9000*0.1+13000*0.2+10000*0.25+20000*0.3+25000*0.35+(salary1-80000)*0.45))+"\n牛逼啊哥们!");
// 超过80000的部分,交税45%

// 使用 DecimalFormat 对象格式化金额
String taxAmountPayable1 = decimalFormat.format(taxAmountPayable);
String afterTaxIncome1 = decimalFormat.format(afterTaxIncome);
System.out.println("应缴纳个人所得税为:"+ taxAmountPayable1+"税后到手"+afterTaxIncome1);
}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值