提供计算个人所得税的方法:
工资个税的计算公式为:应纳税额=(工资薪金所得 -“五险一金”-扣除数)×适用税率-速算扣除数
代码:
/**
* @ClassName: Employee
* @Description: 根据基本工资和奖金计算个人所得税
* @author 楚雅枫
* @date 2013-10-15 下午8:38:53
*
*/
public class Employee {
String ID; //编号
String name; //姓名
float base_pay; //基本工资
float award; //奖金
Employee(){ //无参构造函数
}
Employee(String ID,String name){ //带参构造函数
this.ID = ID;
this.name = name;
}
String getname(){//得到姓名
return name;
}
String getID(){ //得到编号
return ID;
}
float getbase_pay(){ //得到基本工资
return base_pay;
}
float getaward(){ //得到奖金
return award;
}
void setbase_pay(float base_pay){ //设置基本工资
this.base_pay = base_pay;
}
void setaward(float award){ //设置奖金
this.award = award;
}
void setname(String name){//设置姓名
this.name = name;
}
void setID(String ID){//设置编号
this.ID = ID;
}
float income_tax(){ //计算个人所得税
float income_tax; //应缴纳税额
float tax_rate; //税率
float deduct; //速算扣除数
float five_one; //五险一金
/*
* 五险即养老、医疗、失业、工伤、生育保险,缴费金额按个人缴费基数乘以缴费比例计算得出:
1、养老保险:单位缴20%,个人缴8%;
2、医疗保险:单位缴8-12%(各地不一),个人缴2%;
3、失业保险:单位缴2%,个人1%;
4、工伤保险:单位缴0.5%,个人不缴工伤保险费;
5、生育保险:单位缴0.8%,个人不缴生育保险费;
一金即公积金,也是按照个人的缴费基数乘以缴费比例,由单位和个人各缴10-12%,此处按10%算
*/
//初始化利率和速算扣除数
tax_rate = 0.03f;
deduct = 0.0f;
//基本工资加上奖金的总钱数
float total = base_pay + award;
//根据基本工资的不同来对利率和速算扣除数赋值
if(0 < total && total <= 1500){
tax_rate = 0.03f;
deduct = 0.0f;
}else{
if(1500 < total && total <= 4500){
tax_rate = 0.10f;
deduct = 105.0f;
}else{
if(4500 < total && total <= 9000){
tax_rate = 0.20f;
deduct = 555.0f;
}else{
if(35000 < total && total <= 35000){
tax_rate = 0.25f;
deduct = 1005.0f;
}else{
if(55000 < total && total <= 55000){
tax_rate = 0.30f;
deduct = 2755.0f;
if(55000 < total && total <= 80000){
tax_rate = 0.35f;
deduct = 5505.0f;
}else{
tax_rate = 0.45f;
deduct = 13505.0f;
}
}
}
}
}
}
//五险一金计算
five_one = total * 0.21f;
income_tax = (total - five_one) * tax_rate - deduct;
//工资个税的计算公式为:应纳税额=(工资薪金所得 -“五险一金”-扣除数)×适用税率-速算扣除数
return income_tax;
}
}
测试类:
import java.util.*;
/**
* @ClassName: MainClass
* @Description:测试类
* @author 楚雅枫
* @date 2013-10-15 下午8:15:11
*
*/
public class MainClass {
/**
* @Title: main
* @Description: 测试类
* @param @param args 设定文件
* @return void 返回类型
* @throws
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
float flt;//输入的基本工资和奖金
float income_tax;
Employee employee = new Employee("1108010201","楚雅枫");
System.out.println("请输入基本工资:");
flt = input.nextFloat();
employee.setbase_pay(flt);
System.out.println("请输入奖金:");
flt = input.nextFloat();
employee.setaward(flt);
income_tax = employee.income_tax();
String name = employee.getname();
System.out.println(name + "应缴纳税额为:" + income_tax);
}
}