# 计算税款

2022-05-10 19:34:44  阅读：34  来源： 互联网

``````
import java.util.*;
class Main {
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,\n)" +
"2-married separately, 3-head fo household\n" +
"Enter the filling 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 ingle 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 - 186474) * 0.35;
}
}
else if(status == 3){
if(income <= 19950){
tax = income * 0.10;
}else if(income <= 45500){
tax = 19950 * 0.10 + (income - 19950) * 0.15;
}else if(income <= 117450){
tax = 19950 * 0.10 + (45500 - 19950) * 0.15 + (income - 45500) * 0.25;
}else if(income <= 190200){
tax = 19950 * 0.10 + (45500 - 19950) * 0.15 + (117450 - 45500) * 0.25
+ (income - 117450) * 0.28;
}else if(income <= 372950){
tax = 19950 * 0.10 + (45500 - 19950) * 0.15 + (117450 - 45500) * 0.25
+ (190200 - 117450) * 0.28 + (income - 190200) * 0.33;
}else{
tax = 19950 * 0.10 + (45500 - 19950) * 0.15 + (117450 - 45500) * 0.25
+ (190200 - 117450) * 0.28 + (372950 - 190200) * 0.33 + (income - 372950) * 0.35;

}
}
else{
System.out.println("Error: invalid status");
System.exit(0);
}

//Display the result
System.out.println("Tax is " + (int)(tax * 100) / 100.0);

}

}``````

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有