资源下载地址:https://download.csdn.net/download/sheziqiong/86768628
资源下载地址:https://download.csdn.net/download/sheziqiong/86768628

一、功能

  • 基于命令行界面的计算个人所得税程序,根据用户输入的当月工资薪金总额计算应缴纳的个人所得税额

  • 收入总额减去免征基数后剩余部分称为应纳税所得额,根据应纳税所得额按某种规定计算应缴纳的个人所得税

  • 默认起征点为 1600 元

  • 默认计税规则如下:

    级别 应纳税所得额 税率 %
    1 不超过 500 元的 5
    2 超过 500 元至 2,000 元的部分 10
    3 超过 2,000 元至 5,000 元的部分 15
    4 超过 5,000 元至 20,000 元的部分 20
    5 超过 20,000 元部分 25
  • 该程序应支持对个人所得税起征点进行调整

  • 个人所得税各级税率也允许修改

    例如,张三某月工资薪金总收入为 4,300 元,减去免征基数 1,600 元,则应纳税所得额为 2,700 元。

    应纳税所得额中,超过 2,000 部分为 2,700 – 2,000 = 700 元,按 15% 税率计算应纳税 105 元;而 500 元 至 2,000 元的部分为 1,500 元,按 10% 税率计算应纳税 150 元;不超过 500 元的部分为 500 元,按 5% 税率计算应纳税 25 元。

    所以,该月张三应缴纳的个人所得税金额为 105 + 150 + 25 = 280 元。

二、文件结构

  • src 文件夹中为代码源程序
  • run.sh 为编译运行的批处理文件,终端运行 ./run.sh 即可运行程序
  • out 文件夹中为编译后的 .class 文件
  • JavaDoc 文件夹中为生成的 JavaDoc 文档,用浏览器打开其中的 index.html 即可

三、设计思路

1. UML 类图

2. 结构描述

我设计了三个类,其中:

  • Presentation 用于显示界面以及和用户交互 IO
  • TaxTable 根据计税规则维护一个表,包括创建和修改,并包括规则某些金额的获取函数供其他类调用
  • TaxCalculator 用于计算所得税的具体金额

上面只为简述,各个类的详细信息、各变量含义、各函数含义与参数意义详见代码注释或 JavaDoc 文档

四、编译与运行

1. JDK 版本:Java8

2. 编译与运行

在主目录下(即 src 文件夹的父目录)运行:

javac -sourcepath src -d out src/*.java
cd out
java personaltax.Presentation

此外,我已将这三条命令写到了批处理文件 run.sh 中,也可以直接运行:

./run.sh

五、运行截图

  1. 运行后的开始界面,会显示当前各种信息:

  2. 指令“1”,计算所得税金额

这个测例即为要求文档中的例子,工资 4300 元所得税 280 元。
3. 指令“2”,改变起征点金额

  1. 指令“3”,改变税率及计税规则

  1. 指令“4”,退出程序

六、错误数据处理

除了基础功能外,如果输入了一些“不合法”的数据,程序也会提示并要求重新输入:

  • 输入的指令并非 1、2、3 或 4:

  • 输入的起征点金额不大于 0:

  • 输入的税率不在 0-1 之间:

  • 输入的税率不在 0-1 之间:


资源下载地址:https://download.csdn.net/download/sheziqiong/86768628
资源下载地址:https://download.csdn.net/download/sheziqiong/86768628

基于Java实现的用于计算个人所得税的程序相关推荐

  1. 基于java springboot的小说阅读微信小程序含后台管理系统源码

    系统运行环境 开发工具 eclipse(idea),mysql5.7(大于5.5),navicat,小程序开发工具 硬件要求 windows操作系统 cpu:2.4GHz 内存:4G 硬盘:100G ...

  2. 并发型服务器响应方式,基于Java NIO 开发高性能并发型服务器程序的研究

    基于Java NIO 开发高性能并发型服务器程序的研究 第8卷%第5期 软件导刊 2009年5月SoftwareGuide Vol.8No.5May.2009 基于JavaNIO开发高性能并发型服务器 ...

  3. 计算机毕业设计ssm基于java的仓储信息管理系统o9ypl系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于java的仓储信息管理系统o9ypl系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于java的仓储信息管理系统o9ypl系统+程序+源码+lw+远程部署 本源码技术栈 ...

  4. 计算机毕业设计ssm基于Java通识课程管理系统v87xr系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于Java通识课程管理系统v87xr系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于Java通识课程管理系统v87xr系统+程序+源码+lw+远程部署 本源码技术栈: ...

  5. [附源码]Nodejs计算机毕业设计基于Java的班主任管理系统的实现Express(程序+LW)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: Node.js+ Vscode + Mysql5.7 + HBuilderX+Navicat11+Vue ...

  6. [附源码]Python计算机毕业设计SSM基于Java的班主任管理系统的实现(程序+LW)

    环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,St ...

  7. java计算两个日期之间的周数_编写一个JAVA类,用于计算两个日期之间的周数。...

    import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class dem ...

  8. 简单网络聊天程序java_基于Java实现hello/hi简单网络聊天程序

    Socket简要阐述 Socket的概念 Socket的英文原义是"孔"或"插座". 在网络编程中,网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连 ...

  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的微信小程序图书借阅管理系统

    项目介绍 一款用于图书推荐.搜索.借阅.交流的微信小程序 使用技术 前端 微信小程序 UI框架: Amaze UI 数据可视化处理库: Highcharts.js 后端 Web MVC框架: Spri ...

最新文章

  1. .NET简谈组件程序设计之(手动同步)
  2. JAVA线程的interrupt
  3. build.xml编译报错Specified VM install not found: type Standard VM, name jdk1.7.0_45
  4. Cartographor定位-shell脚本:不停拉起死掉的程序和脚本
  5. python 3.6.5编译安装_Linux系统安装Python3.6.5
  6. 滤波器开发之五:基于算术平均的限幅滤波器
  7. python之yield
  8. nginx 的启动、停止与重启
  9. 使用Windows迁移工具迁移2003至2012R2 二、IP迁移
  10. 基于RV1126平台imx291分析 --- 运行设备(VIDIOC_STREAMON)
  11. mysql java uuid_Java生成UUID 与 MySQL数据库如何生成uuid数据
  12. Spring-cloud学习教程视频
  13. Revertable STFT
  14. dex转为java_android - 将DEX反编译成Java源代码
  15. (图像加密)常用图像置乱算法matlab实现(三)
  16. 潇洒郎:Ten-fold-cross validation- Naïve Bayes Classifier 十字交叉验证-贝叶斯分类器 Python实现
  17. 【hadoop生态之Hbase】HBase部署与使用【笔记+代码】
  18. 激光雷达技术路线:机械式、MEMS是主流,OPA、Flash、FMCW发展空间大
  19. 仓库防霉防潮作业指导书
  20. 批量关闭公众号推送_微信发大招,长期不读的公众号可“批量关闭”!

热门文章

  1. 《炬丰科技-半导体工艺》IC制造化学清洗过程中硅上重金属污染的表面光电压监测
  2. ecshop做淘宝客
  3. 电子邮件营销七大案例
  4. linux通过无线网卡上网,在Ubuntu中使用PHS无线网卡上网
  5. 五分钟讲透开关电源buck降压基本原理
  6. java rgb cmyk_Java CMYK图片转RGB图片(TwelveMonkeys方式)
  7. 海康萤石摄像机远程监控机制分析
  8. OSM地图本地发布(三)-----自定义图层提取
  9. [论文总结] 深度学习在农业领域应用论文笔记
  10. 批处理序列风格与管道过滤器风格对比