需求简介: 根据国家最新纳税法,给出税前工资算出税后工资,给出税后工资算出税前工资,不考虑五险一金等其他杂七杂八的;

1、个人所得纳税规则表

薪资 纳税率
0-5k 0
5k-8k 3%
8k-17k 10%
17-30k 20%
30k-40k 25%
40k-60k 30%
60k-85k 35%
85k+ 45%

2、java 税前工资 和 到手工资的相互计算

package com.cxysl;import java.util.Scanner;public class Main {static double[][] rates = { { 0, 0,5000 }, { 5000, 0.03,7910 },{ 8000, 0.1,16010}, { 17000, 0.2 ,26410},{ 30000, 0.25,33910}, { 40000, 0.3 ,47910},{ 60000, 0.35 ,64160}, { 85000, 0.45,64160} };public static void main(String[] args) {Main main = new Main();main.menu();}public void menu(){double x;       //税前工资double sum;     //到手工资System.out.println("--------------------------------------------------------------------------");System.out.println("1、税前工资算到手工资");System.out.println("2、到手工资算税前工资");Scanner reader = new Scanner(System.in);int i = reader.nextInt();if (i==1){System.out.print("输入你的税前工资:\t");x = reader.nextDouble();sum = getSum(x);System.out.println("你的到手工资为:\t"+sum);menu();}else if (i==2){System.out.print("输入你的到手工资:\t");sum = reader.nextDouble();x =  getX(sum);System.out.println("你的税前工资为:\t"+x);menu();}else {System.out.print("输入错误");menu();}}//根据税前工资算到手工资public static double getSum(double x) {double b = 0;for (int i = 1; i < rates.length; i++) {if (x <= rates[i][0]) {break;} else if (x > rates[i][0]) {if (i==rates.length-1){b = b + (x-rates[i][0])*rates[i][1];System.out.print("1b"+i+":\t"+b);}else {if(x > rates[i+1][0]) b = b + (rates[i+1][0]-rates[i][0])*rates[i][1];else    b = b + (x-rates[i][0])*rates[i][1];System.out.print("2b"+i+":\t"+b);}System.out.println("");}}System.out.println("x:"+x+"\t\tb:"+b+"\t\tsum:"+(x-b));return x-b;}//根据到手工资算税前工资public static double getX(double sum){double b = 0;double x = 0;for (int i = 1; i < rates.length; i++){if (sum > rates[i-1][2]) {      //本区间 需要交税if (sum <= rates[i][2] || i == rates.length-1){       //下区间不用交税
//                    sum = x - (x-rates[i][0])*rates[i][1] - b;x = (sum + b - rates[i][1] *rates[i][0]) / (1-rates[i][1]);break;}else if(sum > rates[i][2]){       // 下区间也要交税b = b + (rates[i+1][0]-rates[i][0])*rates[i][1];System.out.println("b"+i+":\t"+b);}} else if(sum <= rates[i-1][2]){break;}}return x;}}

3、运行效果展示

昨天15号刚发工资,但工资明细条还没发,就想知道自己这税前是几多工资,整了这程序。(不考虑社保、五险这些,这些我现在也还没有)
如果程序还有漏洞请留言 ~

2020个人所得税,税前工资 和 到手工资的相互计算源码(java)相关推荐

  1. java计算机毕业设计的工资管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计的工资管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计的工资管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S ...

  2. php皮肤程序,2020修复升级版PHP全新皮肤界面点赞任务系统平台源码运营版,仿众人帮蚂蚁帮扶牛帮...

    [温馨提示]源码包解压密码:www.youhutong.com 资源描述 2020修复升级版PHP全新皮肤界面点赞任务系统平台源码运营版,仿众人帮蚂蚁帮扶牛帮 测试环境: php5.6+apache2 ...

  3. [附源码]JAVA+ssm计算机毕业设计高校工资管理系统(程序+Lw)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  4. [附源码]Java计算机毕业设计SSM高校工资管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  5. 七夕编程代码linux,2020七夕情人节:7个程序员必备表白源码

    亚当表白夏娃,打开了上帝都不知道的魅力后花园.罗密欧表白朱丽叶,懂得了爱情比任何事情都值得.你曾经表白过吗? 课桌间,将萌动的心跳化作一张表白小纸条,大学时,不经意间牵起的双手就是美好的承诺,工作后, ...

  6. 2020最新版影评小程序搭建教程(附源码获取渠道)

    废话不多说现在进入搭建教程! 首先就是 环境要求: 这里我推荐使用宝塔安装LNMP服务器环境 使用宝塔的前提是你的服务器是刚购置的,或者重新安装的没有任何东西的 安装好后直接选择 linux ngin ...

  7. [附源码]java+ssm计算机毕业设计个人所得税服务系统0dol2(源码+程序+数据库+部署)

    项目运行 项目含有源码(见文末).文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ E ...

  8. 2020年泰迪杯C题智慧政务中的文本数据挖掘应用--论文+全部源码分享

    5.2问题二模型的建立与求解 本题要求针对热点问题进行挖掘,主要目的是从群众留言中挖掘出热点问题.也就是给每一条留言都量化一个热度指数.并且根据热度指数进行排序,从而获取热度较高的评价问题.对于问题热 ...

  9. 新个人所得税EXCEL计算公式以及税后工资反算税前工资公式

    1.2011年9月1日开始,个税计算公式 个税=ROUND(MAX((A6-3500)*{0.03,0.1,0.2,0.25,0.3,0.35,0.45}-{0,105,555,1005,2755,5 ...

最新文章

  1. jvm_堆栈永久区详细讲解
  2. 2_3 ProxyMode.cpp 代理模式
  3. java io系列09之 FileDescriptor总结
  4. 加速国内 Github 访问,下载的9种方案!
  5. UVA 10173 旋转卡壳
  6. 怎样三天训练出AI围棋大师?教你AlphaGo Zero的3个trick
  7. ionic/cordova即时通讯解决方案(上)
  8. equal java用法_equal,和等号的用法..
  9. python 做界面时如何使图片保持透明背景_Python利用matplotlib生成图片背景及图例透明的效果...
  10. FIAA固定资产【03资产主数据】
  11. 网上商城APP系统源码 B2C商城系统源码
  12. 单片机 一键开关机 软件结合
  13. Python 解压压缩包至文件夹、把整个文件夹打包至压缩包
  14. PHP 防止 while true循环 CPU 使用率过高的方法
  15. 老九学堂 学习 C++ 第五天
  16. nfc和红外线的区别_比较NFC支付、蓝牙支付、红外线支付技术的优缺点
  17. 大数据模型-银行客户细分与个人客户流失预警
  18. 深度学习笔记:01快速构建一个手写数字识别系统以及张量的概念
  19. ZJOI2018游记Round2
  20. 行为识别 - TAM: Temporal Adaptive Module for Video Recognition

热门文章

  1. iPhone4 Siri
  2. 数据库原理及应用-李唯唯主编-实验3-4
  3. java silk转mp3,小程序录音后格式转换问题请教
  4. 【Vue3】vue3中组合式Api的setup写法快速入门上手起步
  5. 微信公众号 智能客服
  6. 全容灾、热备份、温归档、智融合,电信运营商的数据保护黄金法则
  7. 0202插入删除-算法第四版红黑树-红黑树-数据结构和算法(Java)
  8. 算法-查找(红黑树)
  9. 经常打电话的人用什么耳机好?通话质量好的蓝牙耳机推荐
  10. python声音识别歌曲_听歌识曲--用python实现一个音乐检索器的功能