*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款。 *3.13(Financial application: compute taxes) Listing 3.5, ComputeTax.java, gives the source code to compute taxes for single filers. Complete this program to compute taxes for all filing statuses.
参考代码:
package chapter03;import java.util.Scanner;publicclassCode_13{publicstaticvoidmain(String[] args){
Scanner input =newScanner(System.in);// Prompt the user to enter filing status
System.out.print("(0-single filer, 1-married jointly or "+"qualifying widow(er), 2-married separately, 3-head of "+"household) 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 taxdouble tax =0;if(status ==0){// Compute tax for single filersif(income <=8350)
tax = income *0.10;elseif(income <=33950)
tax =8350*0.10+(income -8350)*0.15;elseif(income <=82250)
tax =8350*0.10+(33950-8350)*0.15+(income -33950)*0.25;elseif(income <=171550)
tax =8350*0.10+(33950-8350)*0.15+(82250-33950)*0.25+(income -82250)*0.28;elseif(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;}elseif(status ==1){// Compute tax for married file jointly or qualifying widow(er)if(income <=16700)
tax = income *0.10;elseif(income <=67900)
tax =16700*0.10+(income -16700)*0.15;elseif(income <=137050)
tax =16700*0.10+(67900-16700)*0.15+(income -67900)*0.25;elseif(income <=208850)
tax =16700*0.10+(67900-16700)*0.15+(137050-67900)*0.25+(income -137050)*0.28;elseif(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;}elseif(status ==2){// Compute tax for married separatelyif(income <=8350)
tax = income *0.10;elseif(income <=33950)
tax =8350*0.10+(income -8350)*0.15;elseif(income <=68525)
tax =8350*0.10+(33950-8350)*0.15+(income -33950)*0.25;elseif(income <=104425)
tax =8350*0.10+(33950-8350)*0.15+(68525-33950)*0.25+(income -68525)*0.28;elseif(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;}elseif(status ==3){// Compute tax for head of householdif(income <=11950)
tax = income *0.10;elseif(income <=45500)
tax =11950*0.10+(income -11950)*0.15;elseif(income <=117450)
tax =11950*0.10+(45500-11950)*0.15+(income -45500)*0.25;elseif(income <=190200)
tax =11950*0.10+(45500-11950)*0.15+(117450-45500)*0.25+(income -117450)*0.28;elseif(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+(372950-190200)*0.33+(income -372950)*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);
input.close();}}
结果显示:
(0-single filer,1-married jointly or qualifying widow(er),2-married separately,3-head of household) Enter the filing status:0
Enter the taxable income:10000
Tax is 1082.5
Process finished with exit code 0
第三章第十三题(金融应用:计算税款)(Financial application: compute taxes)*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款。*3.13(Financial application: compute taxes) Listing 3.5, ComputeTax.java, gives the source code to compute taxes for single fil