问题:

计算税美国联邦个人所得税是根据申请状态和应纳税所得额计算的。有四种申请状态:单身申报人,共同申报的婚姻,单独申报的婚姻和户主。

税率每年变化如下表显示。例如,如果您是应税收入为10,000美元的单身人士,则前8,350美元的税率为10%,其他1,650美元的税率为15%。因此,您的税费是$ 1,082.5。

  • 编写一个计算个人所得税的程序,程序应提示用户输入申请状态和应纳税所得额并计算税额。

要求:

输入0表示单身申报者,1表示共同申报,2表示单独申报,3表示户主。您的程序根据申请状态计算应税收入的税额。

对于每种申请状态,都有六个税率。每个税率适用于一定数量的应税收入。例如,单身申报人的40万美元应税收入中,8,350美元的税率为10%,(33,950-8,350)的税率为15%,(82,250-33,950)的税率为25%,(171,550-82,250)的税率为28%,(372,950- 171,550)(33%)和(400,000-372,950)(35%)。

代码实现:

import java.util.Scanner;
public class MyTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int status=0;double tax=0;String flag="Y";while(true){if(flag.equalsIgnoreCase("Y")){while(true){System.out.println("请输入您的申请状态(0表示单身申报者/1表示共同申报/2表示单独申报/3表示户主):");status=sc.nextInt();if(status==0){//根据申请状态计算应税收入的税额,将这个需求抽成一个方法tax=getTax(0);break;}else if(status==1){tax=getTax(1);break;}else if(status==2){tax=getTax(2);break;}else if(status==3){tax=getTax(3);break;}else{System.out.println("输入错误,请重新输入");}}System.out.println("根据计算,您的应税收入的税额为:¥"+tax);}else if(flag.equalsIgnoreCase("N")){System.out.println("谢谢使用!");break;}else{System.out.println("输入错误,应该输入Y/N");}System.out.println("您还想继续查询吗?(Y/N)");sc=new Scanner(System.in);flag=sc.nextLine();}}private static double getTax(int status) {double income=0;double tax=0;while(true){System.out.println("请输入您的应税收入:(输入的数字不得小于0)");Scanner sc = new Scanner(System.in);income=sc.nextDouble();if(income>0){switch(status){case 0:tax=singleApplicant(income);return tax;case 1:tax=jointFiling(income);return tax;case 2:tax=filedSeparately(income);return tax;case 3:tax=head(income);return tax;}}else{System.out.println("输入的收入不得低于0¥");}}}private static double singleApplicant(double income) {double tax=0;double one=8350*0.1;//8351<=income<=33950double tow=(33950-8350)*0.15+one;//33951<=income<=82250double three=(82250-33950)*0.25+tow;//82251<=income<=171550double four=(171550-82250)*0.28+three;//171551<=income<=372950double five=(372950-171550)*0.33+four;//372951<=incomeif(income>=0&&income<=8350){tax= income*0.1;}else if(income>=8351&&income<=33950){tax= one+(income-8350)*0.15;}else if(income>=33951&&income<=82250){tax= tow+(income-33950)*0.25;}else if(income>=82251&&income<=171550){tax= three+(income-82250)*0.28;}else if(income>=171551&&income<=372950){tax= four+(income-171550)*0.33;}else{tax= five+(income-372950)*0.35;}return tax;}private static double jointFiling(double income) {double tax=0;double one=16700*0.1;//16701<=income<=67900double tow=(67900-16700)*0.15+one;//67901<=income<=137050double three=(137050-67900)*0.25+tow;//137051<=income<=208850double four=(208850-137050)*0.28+three;//208851<=income<=372950double five=(372950-208850)*0.33+four;//372951<=incomeif(income>=0&&income<=16700){tax= income*0.1;}else if(income>=16701&&income<=67900){tax= one+(income-16700)*0.15;}else if(income>=67901&&income<=137050){tax= tow+(income-67900)*0.25;}else if(income>=137051&&income<=208850){tax= three+(income-137050)*0.28;}else if(income>=208851&&income<=372950){tax= four+(income-208850)*0.33;}else{tax= five+(income-372950)*0.35;}return tax;}private static double filedSeparately(double income) {double tax=0;double one=8350*0.1;//8351<=income<=33950double tow=(33950-8350)*0.15+one;//33951<=income<=68525double three=(68525-33950)*0.25+tow;//68526<=income<=104425double four=(104425-68525)*0.28+three;//104426<=income<=186475double five=(186475-105525)*0.33+four;//186476<=incomeif(income>=0&&income<=8350){tax= income*0.1;}else if(income>=8351&&income<=33950){tax= one+(income-8350)*0.15;}else if(income>=33951&&income<=68525){tax= tow+(income-339550)*0.25;}else if(income>=68526&&income<=104425){tax= three+(income-68525)*0.28;}else if(income>=104426&&income<=186475){tax= four+(income-104425)*0.33;}else{tax= five+(income-186475)*0.35;}return tax;}private static double head(double income) {double tax=0;double one=11950*0.1;//11951<=income<=45500double tow=(45500-11950)*0.15+one;//45501<=income<=117450double three=(117450-45500)*0.25+tow;//117451<=income<=190200double four=(190200-117450)*0.28+three;//190201<=income<=372950double five=(372950-190200)*0.33+four;//372951<=incomeif(income>=0&&income<=11950){tax= income*0.1;}else if(income>=11951&&income<=45500){tax= one+(income-11950)*0.15;}else if(income>=45501&&income<=117450){tax= tow+(income-45500)*0.25;}else if(income>=117451&&income<=190200){tax= three+(income-117450)*0.28;}else if(income>=190201&&income<=372950){tax= four+(income-190200)*0.33;}else{tax= five+(income-372950)*0.35;}return tax;}
}

Java计算税收代码实现相关推荐

  1. Java、计算税收(Java8)

    本程序计算美国纳税人税收. 程序中的美国纳税人分为:单身纳税人.已婚共同纳税人或符合条件的活寡.已婚单独纳税人.家庭户主纳税人. 计算税收程序如下: package pack2;public clas ...

  2. java 计算均值和标准差_java计算方差、标准差(均方差)实例代码

    java计算标准差思路 //方差s^2=[(x1-x)^2 +...(xn-x)^2]/n 或者s^2=[(x1-x)^2 +...(xn-x)^2]/(n-1) public static doub ...

  3. java前台计算date差,js计算时间差代码【包括计算,天,时,分,秒】_javascri

    var begintime_ms = Date.parse(new Date(begintime.replace(/-/g, "/"))); //begintime 为开始时间 v ...

  4. 炒股Java_基于java计算买卖股票的最佳时机

    这篇文章主要介绍了基于java计算买卖股票的最佳时机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题: 可以将问题转化为如下图所示,即求多个累计 ...

  5. java中日期计算时间差,用java计算日期/时间差

    用java计算日期/时间差 我也想计算两个日期之间的差额以小时/分钟/秒为单位. 我的代码有一个小问题,就是:String dateStart = "11/03/14 09:29:58&qu ...

  6. java如何计算时间天数差,java计算两个时间相差天数的方法汇总

    问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是 ...

  7. 经典十大排序算法(含升序降序,基数排序含负数排序)【Java版完整代码】【建议收藏系列】

    经典十大排序算法[Java版完整代码] 写在前面的话 十大排序算法对比 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 插入排序 希尔排序 计数排序 桶排序 基数排序 完整测试类 写在前面的话   ...

  8. java 计算协方差_Java的深度:通过协方差暴露的API泄漏

    java 计算协方差 Java有时可能非常棘手,特别是在API设计中. 让我们看一个非常有趣的展示柜. jOOQ强烈地将API与实现分开. 所有API都在org.jooq包中,并且是公共的. 大多数实 ...

  9. [Leetcode][第315题][JAVA][计算右侧小于当前元素的个数][暴力][归并排序+索引数组]

    [问题描述][中等] [解答思路] 1. 暴力 (超时) 时间复杂度:O(N^2) 空间复杂度:O(1) public List<Integer> countSmaller(int[] n ...

最新文章

  1. android知乎多图片选择,知乎开源图片选择库 Matisse
  2. jquery $.proxy使用 Jquery实现ready()的源码
  3. 英伟达显卡功率(频率)锁死
  4. 【教程】利用libsvm-mat建立分类模型model参数解密【by faruto】
  5. java压缩文件读取_用Java读取/写入压缩和非压缩文件
  6. c语言把字符串写入文件,c语言文件读写 | 按字符,按行,按块
  7. SQL Server 调优系列基础篇 - 子查询运算总结
  8. 卫生间防水应注意哪些问题?
  9. 计算机类专业毕业设计(课程设计)题目大全
  10. mysql添加多字段唯一索引吗_mysql多字段唯一索引
  11. 【DockerCE】Docker-CE 20.10.17正式版发布
  12. 数据分析案例-基于随机森林模型对信用卡欺诈检测
  13. VBA 程序加密破解
  14. 科技新品 | 索尼首款专业无人机;arpara 5K超清VR头显及一体机;七彩虹多款显卡新品...
  15. C语言连续自动自加怎么表示,为什么不建议在C语言中连续使用自增自减运算符...
  16. ip反查域名脚本实现
  17. 《硅谷产品》读书笔记
  18. 2022-2028全球牛油果市场专题研究及投资评估报告
  19. 太极阳必须要root吗_root手机教程
  20. 警惕VSCode Copilot合规风险

热门文章

  1. 计算机windows无效映像,应用程序或dll 为无效的windows映像怎么办
  2. 插入排序超详细讲解C语言
  3. 用 Javascript 编写λ演算解释器
  4. 迁移TFS,批量将文档导入SharePoint 2013 文档库
  5. Python新手-记一次股权穿透层级打分(森林实现)
  6. 关于小米 Mi4 手机的评测
  7. 学校计算机教室防火墙,学校网络及电脑教室建设方案
  8. python删除excel某行的格式_Python+Xlwings 删除Excel的行和列
  9. JQuery验证手机号电话号码
  10. 【小程序】微信小程序重复循环平移动画