/**
*个人所得税计算器
* 1.个人所得税起征点5000元;
* 2.个税税率表
* 级数 预扣预缴所得税额 税率
* 1 36000 3%
* 2 36000-144000 10%
* 3 144000-300000 20%
* 4 300000-420000 25%
* 5 420000-660000 30%
* 6 660000-960000 35%
* 7 960000以上 45%
* 3.计算公式
* 累计收入:一月份到当前月份累计收入。
* 累计免税收入:5000*期数(月份数)
* 应纳税额:(应得工资-起征工资)*对应税率-扣除
* 速算扣除额:上级因纳税所得额*(本级税率-上级税率)+上级速算扣除数
* 专项扣除:
* 教育:每个子女1000元
* 继续教育:每月四百
* 房贷:1000每月
*
*
*
*/
import java.util.Scanner;
public class PersonalTaxTalculator {
int time;
Scanner s =new Scanner(System.in);
public PersonalTaxTalculator(double salarymonth) {
}
//此类用来计算年收入
public double SalaryYear(int salarymonth,int time){
return (salarymonth*time);
}
//计算扣除税额
public int koushui(){
int koushuisalary=0;
System.out.println("你是否有子女,有正在接受教育子女请输入个数,没有请输入0");
int jiaoyu =s.nextInt();
if (jiaoyu > 0){
while (jiaoyu>0){
koushuisalary +=1000;
jiaoyu--;
}
}//计算教育的减税,子女教育扣税
System.out.println("你是否参加继续教育,是请输入true,否则输入false");
boolean b =s.nextBoolean();
if (b==true){
koushuisalary+=(12*400);
}//计算继续教育减税
System.out.println("你是否有房贷,有请输入true,否则输入false");
boolean c =s.nextBoolean();
if (c == true){
koushuisalary +=12*1000;
}//计算房贷减税
return koushuisalary;
}
//计算个人所得税模块
public double jisuan(double salaryYear,int koushui,int time){
double yingjiaoshuijin = 0;
salaryYear-=(time*5000)-koushui;
if(salaryYear>960000){
yingjiaoshuijin+=(salaryYear-960000)*0.45;
salaryYear=960000;
}//超过960000部分的税金
if (salaryYear>660000&&salaryYear<=960000){
yingjiaoshuijin+=(salaryYear-660000)*0.35;
salaryYear=660000;
}//960000-660000部分税金,累积
if (yingjiaoshuijin>420000&&yingjiaoshuijin<=660000){
yingjiaoshuijin+=(salaryYear-420000)*0.30;
salaryYear=420000;
}//660000-420000部分税金
if (yingjiaoshuijin>300000&&yingjiaoshuijin<=420000){
yingjiaoshuijin+=(salaryYear-300000)*0.25;
salaryYear=300000;
}//300000-420000部分税金
if (yingjiaoshuijin>144000&&yingjiaoshuijin<=300000){
yingjiaoshuijin+=(salaryYear-144000)*0.20;
salaryYear=144000;
}//144000-300000部分税金
if (yingjiaoshuijin>36000&&yingjiaoshuijin<=144000){
yingjiaoshuijin+=(salaryYear-36000)*0.10;
salaryYear=36000;
}//36000-144000部分税金
if (yingjiaoshuijin<=36000){
yingjiaoshuijin+=salaryYear*0.03;
salaryYear=0;
}//小于36000部分税金
return yingjiaoshuijin;
}
//主方法
public static void main(String[] args) {
Scanner s =new Scanner(System.in);
System.out.println("欢迎来到小晨个人所得税计算器\t"+"------------------------------------");
while (true){
System.out.println("请输入月薪");
int salarymonth =s.nextInt();
System.out.println("请输入每年发几个月薪水");
int time =s.nextInt();
PersonalTaxTalculator a = new PersonalTaxTalculator(salarymonth);
double salaryYear = a.SalaryYear(salarymonth,time);//调用计算年收入类计算年收入,并接收
if (salarymonth >5000){
int koushui = a.koushui();//调用减税计算方法计算减税金额
System.out.println(koushui);
double shuijin =a.jisuan(salaryYear,koushui,time);
System.out.println("你的应交税金为"+shuijin);
}//输出应交税款
else {
System.out.println("你不需要缴税" + "你的年收入为"+salaryYear);
}//工资低于5000直接输出年薪
System.out.println("是否继续计算,是请输入true,退出请输入false");
boolean i =s.nextBoolean();
if (i ==false){
System.out.println("感谢你的使用!");
break;
}//用于退出计算
}
}
运行结果:
本期结束,谢谢大家!