Newb Java程序员在这里, 为什么这个计算器不算?
程序应输入用户的收入,然后根据计算输出联邦税。
联邦税收规则: 应税收入的第一笔45,282美元的15%,+ 下一个45,281美元应纳税所得额的20.5%(应税收入超过45,282美元的部分) $ 90,563),+ 下一个49,825美元的应税收入中的26%(应税收入超过90,563美元的部分) $ 140,388),+
输入:
输入标记:85
输出:
等级是:A
输入:
输入标记:110
输出:
输入0到100之间的值
输入:
输入标记:79.5
输出:
等级是:B +
输入:
输入标记:-10
输出:
输入0到100之间的值
在下一个59,612美元的应税收入中占29%(应税收入超过140,388美元的部分)
$ 200,000),+
33%的应税收入超过200,000美元。
package practiceproblab4;
import java.util.Scanner;
/**
*
* @author JAVA NEWB
*/
public class PracticeProbLab4 {
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter your Income: ");
String In = sc.nextLine();
Double Income = Double.parseDouble(In);
calculateAndPrintTax(Income);
System.out.println("Your taxes are: " + TotalTax);
}
static double calculateAndPrintTax(double Income, double Tax)
{
double tax;
double difftax1;
double difftax2;
double difftax3;
double difftax4;
double TotalTax;
if ((Income >= 45282) && (Income <= 200000))
{
if(Income<=45282)
{
tax = 45282 * 0.15;
TotalTax = tax;
}
else if (Income > 45282 && Income <= 90653)
{
tax = 45282 * 0.15;
difftax1 = (Income - 45282)* .205;
TotalTax = tax + difftax1;
}
else if ((Income >90563) && (Income <= 140388))
{
tax = 45282 * 0.15;
difftax1 = (Income - 45282) * .205;
difftax2 = (Income - 90563) * 0.26;
TotalTax = tax + difftax1 + difftax2;
}
else if ((Income > 140388) && (<= 200000))
{
tax = 45282 * 0.15;
difftax1 = (Income - 45282) * .205;
difftax2 = (Income - 90563) * 0.26;
difftax3 = (Income - 140388) * 0.29;
TotalTax = tax + difftax1 + difftax2 + difftax3;
}
else if ((Income > 200000))
{
tax = 45282 * 0.15;
difftax1 = (Income - 45282) * .205;
difftax2 = (Income - 90563) * 0.26;
difftax3 = (Income - 140388) * 0.29;
difftax4 = (Income - 200000) * 0.33;
TotalTax = tax + difftax1 + difftax2 + difftax3 + difftax4;
}
else ((Income > 200000))
{
tax = 45282 * 0.15;
difftax1 = (Income - 45282) * .205;
difftax2 = (Income - 90563) * 0.26;
difftax3 = (Income - 140388) * 0.29;
difftax4 = (Income - 200000) * 0.33;
TotalTax = tax + difftax1 + difftax2 + difftax3 + difftax4;
return TotalTax;
}
}
}
}
答案 0 :(得分:1)
首先,您在此处不打印任何内容(因为您未在TotalTax
方法中的任何位置初始化main
):
calculateAndPrintTax(Income);
System.out.println("Your taxes are: " + TotalTax);
您需要做的是在main中声明它并接受方法的返回值:
double TotalTax;
TotalTax = calculateAndPrintTax(Income);
System.out.println("Your taxes are: " + TotalTax);
此外,您必须删除calculateAndPrintTax
的else部分中的返回值,您必须将其置于if/elseif/else
子句之外:
if{
// code here
}
else if{
// code here
}
else{
// code here
}
return TotalTax;