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

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

题目

在这里插入图片描述
在这里插入图片描述
表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+

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
为了满足设计原则,我编写了以下程序: ```python # 设计原则:单一职责原则、开放封闭原则、依赖倒置原则 # 单一职责原则:每个只负责一个功能 class Calculator: def add(self, a, b): return a + b def subtract(self, a, b): return a - b def multiply(self, a, b): return a * b def divide(self, a, b): if b == 0: raise ValueError("Cannot divide by zero") return a / b # 开放封闭原则:对扩展开放,对修改关闭 class TaxCalculator: def __init__(self, calculator): self.calculator = calculator def calculate_tax(self, income): tax_rate = 0.25 tax = self.calculator.multiply(income, tax_rate) return tax # 依赖倒置原则:高层模块不应该依赖底层模块,两者都应该依赖抽象 class TaxReport: def __init__(self, calculator): self.calculator = calculator def generate_report(self, income): tax_calculator = TaxCalculator(self.calculator) tax = tax_calculator.calculate_tax(income) report = f"Income: {income}, Tax: {tax}" return report ``` 这个程序包含了三个,每个都满足一个或多个设计原则: - `Calculator` 只负责四个基本运算,满足单一职责原则。 - `TaxCalculator` 通过依赖注入 `Calculator` 对象来计算税收,满足依赖倒置原则。 - `TaxReport` 通过依赖注入 `Calculator` 对象来生成报告,同时使用 `TaxCalculator` 计算税收,满足开放封闭原则。 这个程序设计使得它易于扩展和修改,同时也易于理解和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值