Java黑皮书课后题第10章:***10.8(金融:Tax类)编程练习题8.12使用数组编写一个计算税款的程序。设计一个名为Tax类,该类包含下面的实例数据域
***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类,该类包含下面的实例数据域相关推荐
- 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= ...
- Java黑皮书课后题第7章:**7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true。编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序
7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true.编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序 题目 题目描述 破题 代码 题目 题目描述 ...
- Java黑皮书课后题第5章:5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格
5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格 题目 题目概述 破题 代码 题目 题目概述 5.6(英里与千米之间的互换)编写一个程序,并排显示下面两个表格 英里 千米 千米 英里 ...
- Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生
5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数.每个学生名字及分数,最后显示获得最高分的学生名字 题目 题目概述 next()读取一个字符与nextLine()读取一行 破题 代码 题目 ...
- Java黑皮书课后题第4章:*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值
*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.9(给出字符的Unicode码)编写程序,得 ...
- Java黑皮书课后题第3章:3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面。随即产生一个整数0或1,分别表示
3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 题目 题目概述 破题 代码 题目 题目概述 3.14(游戏:猜硬币的正反面)编写程序,让用户猜一猜是硬币的正面还是反面 随即 ...
- Java黑皮书课后题第5章:5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格
5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格 题目 题目概述 破题 代码 题目 题目概述 5.5(千克与磅之间的互换)编写一个程序,并排显示下面两个表格 千克 磅 磅 千克 1 2. ...
- 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的选牌次数 题目 题目描述 破 ...
- Java黑皮书课后题第6章:6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格
6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格 题目 题目概述与运行示例 破题 代码(本题) 题目 题目概述与运行示例 6.9(英尺和米之间 ...
- Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积
**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...
最新文章
- 20位程序员关于求职的疑问,以及我给出的参考答案
- ollvm 编译器优化的bug
- 根据excel中的容填写信息
- Softmax函数详解与推导
- 我怀疑全国最会吹牛的人,都在这8个公众号上了
- Intel X86 CPU寄存器学习笔记
- Filter过滤器的生命周期
- Spring DI如何给对象赋空值 以及 对 “” null 空值的总结
- 慕课软件质量保证与测试(第二章.课后作业)
- 网络攻防|一次实战中的向日葵 RCE Bypass 360
- 域名解析邮箱服务器地址,邮件域名设置解析
- python读取文件时的相对路径
- C++ 实现小写金额转化为大写金额
- 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(一)
- 看DeepMind如何用Reinforcement learning玩游戏
- Kindle:电子书资源
- SQL 中判断条件的先后顺序,会引起索引失效么?
- SQL Server 变更数据捕获(CDC)
- PROFINET通信协议网关在汽车行业的应用介绍(内附详细说明)
- 40岁华为程序员被裁,985毕业也逃不过中年危机?
热门文章
- python中 普通方法_python中普通方法classmethod和staticmethod的区别与用法
- python中遍历结构可以是哪些数据类型_全!Python基础之原生数据类型、判断和循环、函数和文件操作合集...
- 问题 F: 序列操作Ⅱ(前缀最大公约数,后缀最大公约数)
- 688:画圈游戏(思维)
- 1810: Huffuman树(vector模拟)
- 大规模中文多模态评测基准MUGE发布
- 解析网络诊断利器SreCli-Net
- 如何从 0 到 1 开发 PyFlink API 作业
- 【KubeVela 官方文档翻译】,欢迎大家踊跃参与
- 物联网Wi-Fi配网方式,你知道几种?