***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域

  • 题目
    • 程序解释
  • 代码
    • Test8.java
    • Test8_Tax.java
    • 运行实例
  • UML

题目



表3-2:

临界税率 单身纳税人 已婚共同纳税人或符合条件的鳏寡 已婚单独纳税人 家庭户主纳税人
10% $0~8350 $0~$16700 $0~$8350 $0~$11950
15% $8351~$33950 $16701~$67900 $8351~$33950 $11951~$45500
25% $33951~$52250 $67901~$137050 $33951~$68525 $45501~$117450
28% $52251~$171550 $137051~$208850 $68526~$104425 $117451~$190200
33% $171551~$372950 $208851~$372950 $104426~$186475 $190201~$372950
35% $372951+ $372951+ $186476+ $372951+

点击这里查看编程练习题8.12

程序解释

Test8.java:测试程序
Test8_Tax.java:构造程序

代码

Test8.java

public class Test8 {public static void main(String[] args) {// 2001年int[][] arr0 = {{27050, 65550, 136750, 297350},{45200, 109250, 166500, 297350},{22600, 54625, 83250, 148675},{36250, 93650, 151650, 297350}};double[] rate0 = {0.15, 0.275, 0.305, 0.355, 0.391};// 打印表头System.out.print("2001年\n\t");for (int i = 50000 ; i <= 60000 ; i += 1000){System.out.print(i + "\t");}// 计算税费for (int a = 0 ; a < 4 ; a++){System.out.print("\n" + a + "\t");for (int b = 50000 ; b <= 60000 ; b += 1000){Test8_Tax t1 = new Test8_Tax(a, arr0, rate0, b);System.out.printf("%d\t", (int)t1.getTax());}}// 2009年int[][] arr1 = {{8350, 33950, 52250, 171550, 372950},{16700, 33950, 68525, 104425, 186475},{8350, 33950, 68525, 104425, 186475},{11950, 45500, 117450, 190200, 372950}};double[] rate1 = {0.1, 0.15, 0.25, 0.28, 0.33, 0.35};// 打印表头System.out.print("\n2009年\n\t");for (int i = 50000 ; i <= 60000 ; i += 1000){System.out.print(i + "\t");}// 计算税费for (int a = 0 ; a < 4 ; a++){System.out.print("\n" + a + "\t");for (int b = 50000 ; b <= 60000 ; b += 1000){Test8_Tax t2 = new Test8_Tax(a, arr0, rate0, b);System.out.printf("%d\t", (int)t2.getTax());}}}
}

Test8_Tax.java

public class Test8_Tax {public static final int SINGLE_fLER = 0;public static final int MARRIED_JOINTLY_OR_QUALIFYING_WIDOW = 1;public static final int MARRIED_SEPARATELY = 2;public static final int HEAD_OF_HOUSEHOLD = 3;int filingStatus;int[][] brackets;// = {//            {27050, 65550, 136750, 297350},//            {45200, 109250, 166500, 297350},//            {22600, 54625, 83250, 148675},//            {36250, 93650, 151650, 297350},//    };double[] rates;// = {0.15, 0.275, 0.305, 0.355, 0.391};double taxableIncome;public int getFilingStatus() {return filingStatus;}public void setFilingStatus(int filingStatus) {this.filingStatus = filingStatus;}public int[][] getBrackets() {return brackets;}public void setBrackets(int[][] brackets) {this.brackets = brackets;}public double[] getRates() {return rates;}public void setRates(double[] rates) {this.rates = rates;}public double getTaxableIncome() {return taxableIncome;}public void setTaxableIncome(double taxableIncome) {this.taxableIncome = taxableIncome;}public double getTax(){int index = 0;for (int i = 0 ; i < brackets[filingStatus].length ; i++){if (brackets[filingStatus][i] > taxableIncome)index = i;}return rates[index] * taxableIncome;}public Test8_Tax(){}public Test8_Tax(int filingStatus, int[][] brackets, double[] rates, double taxableIncome){this.filingStatus = filingStatus;this.taxableIncome = taxableIncome;this.brackets = brackets;this.rates = rates;}
}

运行实例

2001年50000   51000   52000   53000   54000   55000   56000   57000   58000   59000   60000
0   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300
1   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300
2   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300
3   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300
2009年50000  51000   52000   53000   54000   55000   56000   57000   58000   59000   60000
0   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300
1   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300
2   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300
3   17750   18105   18460   18815   19170   19525   19880   20235   20590   20945   21300

UML

Java黑皮书课后题第10章:***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域相关推荐

  1. Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9

    Java黑皮书课后题第1章:(代数:求解2*2线性方程组) 题目 题目描述 破题 代码块 方法评析 赘述 修改日志 题目 题目描述 求x和y值: 3.4x+50.2y=44.5 2.1x+0.55y= ...

  2. Java黑皮书课后题第7章:**7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true。编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序

    7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true.编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序 题目 题目描述 破题 代码 题目 题目描述 ...

  3. Java黑皮书课后题第5章:5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格

    5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格 题目 题目概述 破题 代码 题目 题目概述 5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格 英里 千米 千米 英里 ...

  4. Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生

    5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数.每个学生名字及分数,最后显示获得最高分的学生名字 题目 题目概述 next()读取一个字符与nextLine()读取一行 破题 代码 题目 ...

  5. Java黑皮书课后题第4章:*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值

    *4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.9(给出字符的Unicode码)编写程序,得 ...

  6. Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示

    3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 题目 题目概述 破题 代码 题目 题目概述 3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 随即 ...

  7. Java黑皮书课后题第5章:5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格

    5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格 题目 题目概述 破题 代码 题目 题目概述 5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格 千克 磅 磅 千克 1 2. ...

  8. Java黑皮书课后题第7章:*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和24的次

    *7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和.Ace King Quee Jack分别表示1.13.12和11,显示得到和为24的选牌次数 题目 题目描述 破 ...

  9. Java黑皮书课后题第6章:6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格

    6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格 题目 题目概述与运行示例 破题 代码(本题) 题目 题目概述与运行示例 6.9(英尺和米之间 ...

  10. Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积

    **8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...

最新文章

  1. 20位程序员关于求职的疑问,以及我给出的参考答案
  2. ollvm 编译器优化的bug
  3. 根据excel中的容填写信息
  4. Softmax函数详解与推导
  5. 我怀疑全国最会吹牛的人,都在这8个公众号上了
  6. Intel X86 CPU寄存器学习笔记
  7. Filter过滤器的生命周期
  8. Spring DI如何给对象赋空值 以及 对 “” null 空值的总结
  9. 慕课软件质量保证与测试(第二章.课后作业)
  10. 网络攻防|一次实战中的向日葵 RCE Bypass 360
  11. 域名解析邮箱服务器地址,邮件域名设置解析
  12. python读取文件时的相对路径
  13. C++ 实现小写金额转化为大写金额
  14. 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(一)
  15. 看DeepMind如何用Reinforcement learning玩游戏
  16. Kindle:电子书资源
  17. SQL 中判断条件的先后顺序,会引起索引失效么?
  18. SQL Server 变更数据捕获(CDC)
  19. PROFINET通信协议网关在汽车行业的应用介绍(内附详细说明)
  20. 40岁华为程序员被裁,985毕业也逃不过中年危机?

热门文章

  1. python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法
  2. python中遍历结构可以是哪些数据类型_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
  3. 问题 F: 序列操作Ⅱ(前缀最大公约数,后缀最大公约数)
  4. 688:画圈游戏(思维)
  5. 1810: Huffuman树(vector模拟)
  6. 大规模中文多模态评测基准MUGE发布
  7. 解析网络诊断利器SreCli-Net
  8. 如何从 0 到 1 开发 PyFlink API 作业
  9. 【KubeVela 官方文档翻译】,欢迎大家踊跃参与
  10. 物联网Wi-Fi配网方式,你知道几种?