exercise4_9.java

来自「Introduction to java programming 一书中所有编程」· Java 代码 · 共 53 行

JAVA
53
字号
public class Exercise4_9 {
  public static void main(String[] args) {
    System.out.println("taxable\tSingle\tMarried\tMarried\tHead of");
    System.out.println("Income\tSingle\tJoint\tSeparate\ta House");
    for (int taxableIncome = 50000; taxableIncome <= 60000;
      taxableIncome += 50) {
      System.out.println(taxableIncome + "\t" +
        (int)(computeTax(0, taxableIncome)) + "\t" +
        (int)(computeTax(1, taxableIncome)) + "\t" +
        (int)(computeTax(2, taxableIncome)) + "\t" +
        (int)(computeTax(3, taxableIncome)));
    }
  }

  public static double computeTax(double income,
    int r1, int r2, int r3, int r4, int r5) {
    double tax = 0;

    if (income <= r1)
      tax = income * 0.10;
    else if (income <= r2)
      tax = r1 * 0.10 + (income - r1) * 0.15;
    else if (income <= r3)
      tax = r1 * 0.10 + (r2 - r1) * 0.15 + (income - r2) * 0.27;
    else if (income <= r4)
      tax = r1 * 0.10 + (r2 - r1) * 0.15 +
        (r3 - r2) * 0.27 + (income - r3) * 0.30;
    else if (income <= r5)
      tax = r1 * 0.10 + (r2 - r1) * 0.15 + (r3 - r2) * 0.27 +
        (r4 - r3) * 0.30 + (income - r4) * 0.35;
    else
      tax = r1 * 0.10 + (r2 - r1) * 0.15 + (r3 - r2) * 0.27 +
        (r4 - r3) * 0.30 + (r5 - r4) * 0.35 + (income - r5) * 0.386;

    return tax;
  }

  public static double computeTax(int status, double income) {
    switch (status) {
      case 0: return
        computeTax(income, 6000, 27950, 67700, 141250, 307050);
      case 1: return
        computeTax(income, 12000, 46700, 112850, 171950, 307050);
      case 2: return
        computeTax(income, 6000, 23350, 56425, 85975, 153525);
      case 3: return
        computeTax(income, 10000, 37450, 96700, 156600, 307050);
      default: return 0;
    }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?