【发布时间】:2014-03-18 05:46:31
【问题描述】:
所以我正在做一个练习测试,这就是问题:
编写一个 Java 方法,将一个 double 值 pay 作为参数并打印 标准输出与输入的工资值对应的税率。 使用下表确定税率。 (6 分)
如果超过10万,税率为40%
如果支付超过60,000且小于或等于100,000,税率为30%
3万以上小于等于6万,税率为20%
15000以上30000以下,税率为10%
超过5000且小于等于15000,税率为5%
如果工资小于等于5000,税率为0
这是我写的代码,有效:
public class Two {
public static void main(String[] args){
double j= Double.parseDouble(args[0]);
Two.taxrate(j);}
public static void taxrate(double pay)
{
if (pay> 100000) {System.out.println(pay*.4);}
else if (pay>60000) {System.out.println(pay*.3);}
else if (pay>30000) {System.out.println(pay*.2);}
else if (pay>15000) {System.out.println (pay*.1);}
else if (pay>5000) {System.out.println(pay*.05);}
else System.out.println(0.0);
}}
我想知道的是:这是回答这个问题的最佳方式吗?我们已经学会了如何设计数据类型,这个问题似乎很简单。我觉得我忽略了一些东西。
【问题讨论】:
-
我不认为你可以在这里使用“开关”。开关仅适用于特定情况。所以,是的,这是“目前”代码的最佳实践
-
Guava 和/或 Apache Commons 已排序地图容器,允许键之间的匹配范围。看起来像是那些的用例。
标签: java if-statement