Java错误:表达式的非法开始
我正在参加我的第一个Java课程,正在编写计算所得税的程序。我得到3个相同的错误,说“非法表达式开始”,并指向下面的代码中的星号。我确信我正在犯新秀错误,但我不知道该怎么解决!Java错误:表达式的非法开始
import java.util.Scanner;
public class Lab02
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int exemptions; // Number of Exemptions
double grossSalary; // Gross Salary
double interestIncome; // Interest Income
double capitalGains; // Capital Gains
double charitableCont; // Charitable Contributions
double totalIncome; // Total Income
double adjustedIncome; // Adjusted Income
double totalTax; // Total Tax
System.out.print("Number of Exemptions: ");
exemptions = input.nextInt();
System.out.print("Gross Salary: ");
grossSalary = input.nextDouble();
System.out.print("Interest Income: ");
interestIncome = input.nextDouble();
System.out.print("Capital Gains: ");
capitalGains = input.nextDouble();
System.out.print("Charitable Contributions: ");
charitableCont = input.nextDouble();
totalIncome = (grossSalary + interestIncome);
adjustedIncome = (totalIncome - (exemptions * 1500.00) - charitableCont);
if (adjustedIncome <= 10000)
totalTax0 = 0;
if (adjustedIncome > 10000)
totalTax1 = 15% * (adjustedIncome >= 32000 ? (22000) : (adjustedIncome - 10000));
if (adjustedIncome > 32000)
totalTax2 = 23% * (adjustedIncome >= 50000 ? (18000) : (adjustedIncome - 32000));
if (adjustedIncome > 50000)
totalTax3 = 28% * (adjustedIncome - 50000);
totalTax = totalTax0 + totaltax1 + totaltax2 + totaltax3;
System.out.printf("Total Income: $%.2f%n", totalIncome); // display Total Income
System.out.printf("Adjusted Income: $%.2f%n", adjustedIncome); // display Adjusted Income
System.out.printf("Total Tax: $%.2f%n", totalTax); // display Total Tax
}
}
在Java中没有百分比运算符%
。 Java将%
视为余数(有点像模数)运算符,并且它不符合您的想法。
所以做0.15
或15.0/100
,或类似的,而不是15%
例如一些东西,这样的:
totalTax1 = 15% * (adjustedIncome >= 32000 ? (22000) : (adjustedIncome - 10000));
成为
totalTax1 = 0.15 * (adjustedIncome >= 32000 ? (22000) : (adjustedIncome - 10000));
这就是它谢谢你! – presence
@SteeleDesmond:不客气,欢迎来到StackOverflow。 –
这是一个简单的错误。我使用模数运算符作为百分比符号。
请删除此内容,因为您的问题已经有了正确的答案。请查看[帮助]部分,了解该网站的工作原理。 –
此外,没有'totalTax [0-3]'变量在任何地方声明,您需要声明它们或重写逻辑。 –
你的'if'语句是嵌套的,就好像你认为它们是嵌套在一起的,但是没有大括号'{}',所以它们不是*嵌套的,并且你的缩进是误导性的,并且会导致代码错误未来需要进行修改时。缩进应始终反映代码结构,以便人类和Java编译器看到相同的事物。 – Andreas