Java利用if语句来实现中国个人所得税的计算方法
Java利用if语句来实现中国个人所得税的计算方法
注意:现在国家税收早已改革不要在意这些细节,注意看题! 应税所得为税前收入扣除 3500 元(起征点),然后超出部分,按照以下税率收税:
规则:应缴税款 = (税前工资 - 各类保险 - 3500) * 税率 - 速算扣除数。 注意:此处各类保险默认为 262 元。 实发工资 = 税前工资 - 应缴税款 - 各类保险。 例如:若税前工资为 15000,各类保险 262 元。 应缴税款(1804.5) = (15000 - 262 - 3500) * 0.25 - 1005 实发工资(12933.5) = 15000 - 1804.5 - 262
要求:读入一个整数,表示税前收入,输出应当缴纳的个人所得税和税后实际收入。
参考代码如下:
import java.util.Scanner;
public class TestTax {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入你需要查询的工资:");
double salary = sc.nextDouble();//税前工资
//默认公司员工最低工资为500元,
//以防止输入负数和小于262的工资数而出现负数
if (salary < 500) {
System.out.println("您的输入有误!");
return;//输入有误,程序结束!
}
double taxBefore = salary - 262 - 3500;//应税工资
double tax = 0.0;//税款
if (taxBefore > 0) {
//1、需要缴税的判断
if (taxBefore <= 1500) {
tax = taxBefore * 0.03;
} else if (taxBefore <= 4500) {
tax = taxBefore * 0.1 - 105;
} else if (taxBefore <= 9000) {
tax = taxBefore * 0.2 - 555;
} else if (taxBefore <= 35000) {
tax = taxBefore * 0.25 - 1005;
} else if (taxBefore <= 55000) {
tax = taxBefore * 0.3 - 2755;
} else if (taxBefore <= 80000) {
tax = taxBefore * 0.35 - 5505;
} else {
tax = taxBefore * 0.45 - 13505;
}
} else {
//2、不需要缴税的判断(1、2顺序改变可以减少一下判断)
System.out.println("您当前的工资不需要缴纳税款!但是需要缴纳保险费用!");
}
double taxSalary = salary - tax - 262;//税后实际收入
System.out.println("您应当缴纳的个人所得税为:" + tax
+ "元,实际收入为:"
+ taxSalary + "元!");
}
}
测试如下:
