Java语言程序设计(基础篇)第十版 编程练习题 *3.13(财务应用程序: 计算税款)

本文介绍了一个使用Java实现的税务计算器程序,该程序根据用户的申报状态和应税收入计算税款。程序首先提示用户输入申报状态(单身、已婚共同报税等),然后输入应税收入,最后根据美国税法规定的不同税率计算并显示税款。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.Scanner; 

public class ComputeTax {
  public static void main(String[] args) {
    // Create a Scanner
    Scanner input = new Scanner(System.in);

    // Prompt the user to enter filing status
    System.out.print(
      "(0-single filer, 1-married jointly or qualifying widow(er), "
      + "\n2-married separately, 3-head of household)\n" +
      "Enter the filing status: ");
    int status = input.nextInt();

    // Prompt the user to enter taxable income
    System.out.print("Enter the taxable income: ");
    double income = input.nextDouble();

    // Compute tax
    double tax = 0;

    if (status == 0) { // Compute tax for single filers
      if (income <= 8350)
        tax = income * 0.10;
      else if (income <= 33950)
        tax = 8350 * 0.10 + (income - 8350) * 0.15;
      else if (income <= 82250)
        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
          (income - 33950) * 0.25;
      else if (income <= 171550)
        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
          (82250 - 33950) * 0.25 + (income - 82250) * 0.28;
      else if (income <= 372950)
        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
          (82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +
          (income - 171550) * 0.33;
      else
        tax = 8350 * 0.10 + (33950 - 8350) * 0.15 +
          (82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 +
          (372950 - 171550) * 0.33 + (income - 372950) * 0.35;
    }
    else if (status == 1) { 
        if(income <= 16700)
            tax = income * 0.10;
        else if(income <= 67900)
            tax = 16700 * 0.10 + (income-16700) *0.15;
        else if(income <= 137050)
            tax = 16700 * 0.10 + (67900 -16700) * 0.15 + (income - 67900) * 0.25;
        else if(income <= 208850)
            tax = 16700 * 0.10 + (67900 -16700) * 0.15 + (137050 - 67900) * 0.25 +
            (income -137050) * 0.28;
        else if(income <=  372950)
            tax = 16700 * 0.10 + (67900 -16700) * 0.15 + (137050 - 67900) * 0.25 +
            (208850 - 137050) * 0.28 + (income - 208850 ) * 0.33;
        else 
            tax =16700 * 0.10 + (67900 -16700) * 0.15 + (137050 - 67900) * 0.25 +
            (208850 - 137050) * 0.28 + (372950 - 208850 ) * 0.33 + (income - 372950) * 0.35;

    }
    else if (status == 2) { 
        if(income <= 8350)
            tax = income * 0.10;
        else if(income <= 33950)
            tax = 8350 * 0.10 + (income - 8350 ) * 0.15;
        else if(income <= 68525)
            tax = 8350 * 0.10 + (33950 - 8350 ) * 0.15 +
            (income - 33950) * 0.25;
        else if(income <= 104425)
            tax = 8350 * 0.10 + (33950 -8350 ) * 0.15 +
            (68525 - 33950) * 0.25 + (income - 68525) * 0.28;
        else if(income <= 186475)
            tax =  8350 * 0.10 + (33950 -8350 ) * 0.15 +
            (68525 - 33950) * 0.25 + (104425 - 68525) * 0.28+
            (income - 104425) * 0.33;
        else
            tax =  8350 * 0.10 + (33950 -8350 ) * 0.15 +
            (68525 - 33950) * 0.25 + (104425 - 68525) * 0.28+
            (186475 - 104425) * 0.33 + (income - 186475) * 0.35;

    }
    else if (status == 3) { 
        if(income <= 11950)
            tax = income * 0.10;
        else if(income <= 45500)
            tax = 11950 * 0.10 + (income -11950) * 0.15;
        else if(income <= 117450)
            tax = 11950 * 0.10 + (45500 -11950) * 0.15 +
            (income - 45500) * 0.25;
        else if(income <= 190200)
            tax = 11950 * 0.10 + (45500 -11950) * 0.15 +
            (117450 - 45500) * 0.25 + (income - 117450) * 0.28;
        else if(income <= 372950)
            tax = 11950 * 0.10 + (45500 -11950) * 0.15 +
            (117450 - 45500) * 0.25 + (190200 - 117450) * 0.28+
            (income - 190200) * 0.33;
        else 
            tax = 11950 * 0.10 + (45500 -11950) * 0.15 +
            (117450 - 45500) * 0.25 + (190200 - 117450) * 0.28+
            (370950 - 190200) * 0.33 + (income - 370950) * 0.35;
    }
    else {
      System.out.println("Error: invalid status");
      System.exit(1);
    }

    // Display the result
    System.out.println("Tax is " + (int)(tax * 100) / 100.0);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值