使用Java语言设计编写计算个人所得税的小程序

首先,我们应先了解需求是什么。

需求:

2019年1月1日后,国家将个人所得税的起征点上调至5000元人民币。这也就是说税前工资扣除五险一金(我们假设五险一金占据税前工资的百分之十)后如果不足五千元不用交税,如果大于五千元,那么超出五千元的部分按照相应的比例和梯度进行缴税具体比例如下
0 - 3000元的部分,交税百分之三
3000 - 12000元的部分,交税百分之十
12000 - 25000元的部分,交税百分之二十
25000 - 35000元的部分,交税百分之二十五
35000 - 55000元的部分,交税百分之三十
55000 - 80000元的部分,交税百分之三十五
超过80000元的部分,交税百分之四十五
举个例子:张三入职了一家互联网公司,税前工资为9000元,那么五险一金就是900元,那他每个月应该缴纳个税的部分就是,9000 - 900 - 5000 = 3100 元,需要缴纳的个人所得税就是:3000×3% + 100×10% = 100 元,那他的税后工资就是 8000 元。
要求要实现一个 个人所得税的计算程序,能够让用户输入自己的税前工资,自动计算出应该纳税的数额,并得出税后工资,输出出来。

接下来,我们要进行一定的分析。

分析:

  1. 我们应该清楚,程序要求我们能够让用户输入税前工资所以先实现输入功能
  2. 接着要明确哪些部分才属于纳税部分,我们要先计算出五险一金的数额
  3. 随后用税前工资减去五险一金并与起征点作比较,如果大于五千就按照比例交税,如果小于五千就不用交税
  4. 输出计算结果即可

下面我们设计一定的步骤:

执行流程:

  1. 接收税前工资
  2. 计算五险一金的额度,并得出扣除五险一金后的额度
  3. 利用if…else分支结构判断够不够纳税标准,并计算出纳税金额和税后工资
  4. 输出结果程序结束

最后,我们给出代码实现:

相关代码:

...
package com.kxjh.gs;import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);
//接收用户输入的税前工资,这里我定义成整数int wages = sc.nextInt();
//接着定义一个变量保存五险一金的额度double insurance = wages * 0.1;
//接着我们定义一个变量保存扣除五险一金后的工资部分double money = wages - insurance;//还需要定义一个变量来表示超出5000元的部分double money1 = money - 5000;
//我们再定义一个变量用来保存纳税金额,初始值为0double dockwages = 0;
//再定义一个变量保存税后工资,初始值为0;double afterTaxWages = 0;
//使用if语句判断输入的工资是否大于零,提升程序的健壮性if (wages >= 0) {//使用f语句判断扣除五险一金后工资是否达到纳税标准if (money > 5000) {//使用if...else if ...else 分支嵌套语句判断纳税的梯度,并计算纳税额度以及税后工资然后输出if (money1 > 0 && money1 <= 3000) {dockwages = money1 * 0.03;afterTaxWages = money - dockwages;//输出结果System.out.println("您输入的税前工资为:" + wages);System.out.println("您的五险一金额度为:" + insurance);System.out.println("您的纳税金额为:" + dockwages);System.out.println("您的税后工资为:" + afterTaxWages);} else if (money1 > 3000 && money1 <= 12000) {dockwages = (money1 - 3000) * 0.1 + 3000 * 0.03;afterTaxWages = money - dockwages;//输出结果System.out.println("您输入的税前工资为:" + wages);System.out.println("您的五险一金额度为:" + insurance);System.out.println("您的纳税金额为:" + dockwages);System.out.println("您的税后工资为:" + afterTaxWages);} else if (money1 > 12000 && money1 <= 25000) {dockwages = (money1 - 12000) * 0.2 + 3000 * 0.03 + 9000 * 0.1;afterTaxWages = money - dockwages;//输出结果System.out.println("您输入的税前工资为:" + wages);System.out.println("您的五险一金额度为:" + insurance);System.out.println("您的纳税金额为:" + dockwages);System.out.println("您的税后工资为:" + afterTaxWages);} else if (money1 > 25000 && money1 <= 35000) {dockwages = (money1 - 25000) * 0.25 + 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2;afterTaxWages = money - dockwages;//输出结果System.out.println("您输入的税前工资为:" + wages);System.out.println("您的五险一金额度为:" + insurance);System.out.println("您的纳税金额为:" + dockwages);System.out.println("您的税后工资为:" + afterTaxWages);} else if (money1 > 35000 && money1 <= 55000) {dockwages = (money1 - 35000) * 0.3 + 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25;afterTaxWages = money - dockwages;//输出结果System.out.println("您输入的税前工资为:" + wages);System.out.println("您的五险一金额度为:" + insurance);System.out.println("您的纳税金额为:" + dockwages);System.out.println("您的税后工资为:" + afterTaxWages);} else if (money1 > 55000 && money1 <= 80000) {dockwages = (money1 - 55000) * 0.35 + 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + 20000 * 0.3;afterTaxWages = money - dockwages;//输出结果System.out.println("您输入的税前工资为:" + wages);System.out.println("您的五险一金额度为:" + insurance);System.out.println("您的纳税金额为:" + dockwages);System.out.println("您的税后工资为:" + afterTaxWages);} else {dockwages = (money1 - 80000) * 0.45 + 3000 * 0.03 + 9000 * 0.1 + 13000 * 0.2 + 10000 * 0.25 + 20000 * 0.3 + 25000 * 0.35;afterTaxWages = money - dockwages;//输出结果System.out.println("您输入的税前工资为:" + wages);System.out.println("您的五险一金额度为:" + insurance);System.out.println("您的纳税金额为:" + dockwages);System.out.println("您的税后工资为:" + afterTaxWages);}} else {//给出提示信息System.out.println("您的工资扣除五险一金后不足五千,不用缴纳个税!您的税前工资是:" + wages + "元,您的五险一金额度是:" + insurance + "元,您的到手工资应为:" + money + "元。");}} else {//给出提示信息System.out.println("您输入的工资不大于零,请重新输入!");}}
}...

这样,这个程序就完成了。欢迎留言点赞,热爱编程的Panic~

Java小白之编写:计算个税的程序相关推荐

  1. 24点游戏java_使用java编写计算24点游戏程序

    初学java,编写了一个计算24点的程序,时间有限,有些粗糙,不过可以使用. //-------------Cal24.java--------------- //计算24点程序 //作者:徒步天下( ...

  2. Java学习之编写实现简单加密的程序,要求从键盘输入一个字符,输出加密后的字符。

    案例介绍: 编写实现简单加密的程序,要求从键盘输入一个字符,输出加密后的字符. 加密规则:输入A,输出Z;输入B,输出Y:输入a,输出z;输入b,输出y. 案例代码: import java.io.* ...

  3. “猿式浪漫”:Java小白也能写出的表白程序

    很多时候有人会说,程序员不懂得浪漫,其实很多时候,程序员的浪漫会出现在一行行代码里. 比如这个三行情书: 当"昂贵的鲜花+浪漫的烛光晚餐"的标配表白方式早已落入俗套,身为程序员的我 ...

  4. JAVA编程:编写手机投屏电脑程序

    java语言编写手机投屏电脑思路 对于电脑,作为接收手机画面并进行显示,先来说说接收部分(手机发送过来的画面是一张张jpg图片)所以需要接收完整图片数据才能用绘图方法绘制出来. 对于手机,通过手机截屏 ...

  5. 用JAVA语言写一个计算员工月工资的程序

    一.任务需求 某公司分为多个部门,每个部门有一个经理和多个员工,每个员工根据职称发基本工资.员工的工资由基本工资,日加班工资,日缺勤工资等组成.具体需求如下所示: 员工的基本信息,包括部门,职务,职称 ...

  6. 初学python-练习_1使用python编写计算班级学生平均分程序

    #!/usr/bin/python # -*- coding: UTF-8 -*- #指定编码格式,让python文件支持中文 #获取int最大值 import sys; i_max = sys.ma ...

  7. 编写TreeSet类的实现程序,其中相关的迭代器使用二叉查找树

    package com.test.tree;import java.util.Iterator;/*** 编写TreeSet类的实现程序,其中相关的迭代器使用二叉查找树.* 在每个节点上添加一个指向其 ...

  8. java程序源代码如何保存到桌面_如何编写JAVA小白第一个程序

    学习上一篇文章之后,确定好JDK和环境变量都成功之后,我们来编写我们第一个java程序命名为HelloWorld.java. 上一篇文章链接:JDK下载与环境变量的安装 桌面上右击,新建一个文本文档 ...

  9. Java小白入门200例51之根据出生日期计算星座

    作者简介 作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java.JavaScript,博主也是从零开始一步步把学习成长.深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢 ...

  10. Java基础到Java进阶——Java小白的历练之路------从0到1,开卷!

    Java小白的历练之路------从0到1 title: Java Essay date: 2022-09-07 08:58:32 tags: Java notes 写在前面: 免责声明:本笔记来源自 ...

最新文章

  1. 【数据库】兴唐第二十七节课之jdbc的使用
  2. 鼠标点击触发事件python_如何在鼠标按下的情况下触发tkinter的“Enter”事件?...
  3. java编程赋值运算符_跟我学java编程—简单赋值运算符“=”
  4. 3.1.2 操作系统内存管理管些什么?
  5. 用初中数学题理解SVM中不等式约束、拉格朗日乘子法、kkt条件、对偶
  6. V星入侵(V 2009)第一季全集下载
  7. c语言case标号是连续的吗,在switch语句中,case后的标号只能是什么?_后端开发...
  8. SQLite 的日期时间函数
  9. Ubuntu10.04设备未托管
  10. esp8266教程 零基础入门学用物联网 基础知识篇(1)
  11. html 给word插入页眉和页脚,Word文档如何在任意页插入页眉和页脚
  12. matlab分解因式虚数,[2018年最新整理]matlab中所有函数解析_太全了.doc
  13. 信创办公--基于WPS的Word最佳实践系列(解决Word兼容性问题)
  14. Oracle 操作语句
  15. bzoj2144 跳跳棋
  16. 趣闲赚~~~~~~青龙脚本
  17. LaTex数学之积分、求和和极限
  18. Mac添加新建文件按钮或服务
  19. 启发式算法的基础定义与了解
  20. Golang学习笔记汇总

热门文章

  1. android 百度地图公交路线,android百度地图之公交线路详情搜索
  2. [轉載]【京都动画统治世界】短篇科幻小说《2134动漫奇缘》
  3. OpenGL学习书籍推荐
  4. mac hdmi 外接显示器没声音
  5. 哪里有免费的ASP空间?
  6. C++ 类(继承中的构造和析构)
  7. CSS-盒子模型,标准盒子模型,IE 盒子模型,盒模型之间的转换
  8. getchar 使用
  9. [软件工程] 千帆竞发图的制作
  10. 奇怪的同床人:指纹现象……或state.gov与facebook.com