import java.util.Scanner;

 public class Solution
 {
     public static void main(String[] args)
     {
         double[] rates = {0.10, 0.15, 0.25, 0.28, 0.33, 0.35};
         int[][] brackets =
         {
             {8350, 33950, 82250, 171550, 372950},
             {16700, 67900, 137050, 208850, 372950},
             {8350, 33950, 68525, 104425, 186475},
             {11950, 45500, 117450, 190200, 372950}
         };

         Scanner input = new Scanner(System.in);
         System.out.print("Input the number of the people(0 to 3): ");
         int person = input.nextInt();
         System.out.print("Input the income: ");
         int income = input.nextInt();

         input.close();

         double tax = computeTax(brackets, rates, person, income);
         System.out.println("The tax is " + tax);
     }

     public static double computeTax(int[][] brackets, double[] rates, int person, int income)
     {
         int largerCount = 0;
         for(int i = 0; i < brackets[person].length; i++)
         {
             if(brackets[person][i] < income)
                 largerCount++;
             else
                 break;
         }

         if(largerCount == 0)
             return 0;
         else if(largerCount == 1)
             return (income - brackets[person][0]) * rates[0];
         else
         {
             int tax = 0;
             tax += (income - brackets[person][largerCount - 1]) * rates[largerCount];
             largerCount--;
             while(largerCount > 0)
             {
                 tax += (brackets[person][largerCount] - brackets[person][largerCount - 1]) * rates[largerCount];
                 largerCount--;
             }
             tax += brackets[person][0] * rates[0];
             return tax;
         }
     }
 }

HW7.12的更多相关文章

  1. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  2. Python Standard Library

    Python Standard Library "We'd like to pretend that 'Fredrik' is a role, but even hundreds of vo ...

  3. 在mybatis中写sql语句的一些体会

    本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ------------------------- ...

  4. AndroidStudio — Error:Failed to resolve: junit:junit:4.12错误解决

    原博客:http://blog.csdn.net/u013443865/article/details/50243193 最近使用AndroidStudio出现以下问题: 解决:打开app下的buil ...

  5. 读过MBA的CEO更自私?《哈佛商业评论》2016年第12期。4星

    老牌管理杂志.每期都值得精度.本期我还是给4星. 以下是本书中的一些内容的摘抄: 1:他们发现在Airbnb上,如果客人姓名听起来像黑人,那么比名字像白人的客人的接受率会低16%.#45 2:对立组织 ...

  6. 12个小技巧,让你高效使用Eclipse

    集成开发环境(IDE)让应用开发更加容易.它们强调语法,让你知道是否你存在编译错误,在众多的其他事情中允许你单步调试代码.像所有的IDE一 样,Eclipse也有快捷键和小工具,这些会让您感觉轻松许多 ...

  7. 第12章 Linux系统管理

    1. 进程管理 1.1 进程查看 (1)进程简介 进程是正在执行的一个程序或命令(如ls命令也是一个进程),每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. (2)进程管理的作用 ...

  8. Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]

    1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...

  9. CSharpGL(12)用T4模板生成CSSL及其renderer代码

    CSharpGL(12)用T4模板生成CSSL及其renderer代码 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立 ...

随机推荐

  1. 如何设置 Windows 开机启动项

    点击[开始]-[运行](或者使用快捷键-Win + R),输入 msconfig

  2. vim 添加到右键 windows

    >>>> 在windows下 <<<< ++ 在鼠标右键显示“用vim编辑”++ 1.删掉注册表中的HKEY_CLASSES_ROOT\*\shelle ...

  3. VIM下CS命令

    01) :vs 文件目录//打开新的目录02) :cs f s 函数名 //查找那些文件中都用这个函数/变量03) :vert diffsplit A函数  //当前函数与A函数做对比(在对比情况下  ...

  4. JS通用方法总结(一)

    /** * id数组转换为json字符串 */ function arrayTojson(arr) { var jsonIds = "["; for ( var i = 0; i ...

  5. UNIX / Linux: 2 Ways to Add Swap Space Using dd, mkswap and swapon

    UNIX / Linux: 2 Ways to Add Swap Space Using dd, mkswap and swapon by RAMESH NATARAJAN on AUGUST 18, ...

  6. Qt之模式、非模式、半模式对话框

    简述 关于"模式"和"非模式"对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为"半模式". 简述 ...

  7. 51nod 博弈论水题

    51nod1069 Nim游戏 有N堆石子.A B两个人轮流拿,A先拿.每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误 ...

  8. BZOJ 1803 Query on a tree III

    树上主席树. 我靠这是第k小吧..... #include<iostream> #include<cstdio> #include<cstring> #includ ...

  9. 【JavaScript学习笔记】画图

    <!DOCTYPE HTML> <html> <head> <script type="text/javascript"> var ...

  10. 【JavaScript学习笔记】鼠标样式

    style="cursor:hand"   手形 style="cursor:crosshair"   十字形       style="cursor ...