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 

    } 
} 
+0

此外,没有'totalTax [0-3]'变量在任何地方声明,您需要声明它们或重写逻辑。 –

+0

你的'if'语句是嵌套的,就好像你认为它们是嵌套在一起的,但是没有大括号'{}',所以它们不是*嵌套的,并且你的缩进是误导性的,并且会导致代码错误未来需要进行修改时。缩进应始终反映代码结构,以便人类和Java编译器看到相同的事物。 – Andreas

在Java中没有百分比运算符%。 Java将%视为余数(有点像模数)运算符,并且它不符合您的想法。

所以做0.1515.0/100,或类似的,而不是15%

例如一些东西,这样的:

totalTax1 = 15% * (adjustedIncome >= 32000 ? (22000) : (adjustedIncome - 10000)); 

成为

totalTax1 = 0.15 * (adjustedIncome >= 32000 ? (22000) : (adjustedIncome - 10000)); 
+0

这就是它谢谢你! – presence

+0

@SteeleDesmond:不客气,欢迎来到StackOverflow。 –

这是一个简单的错误。我使用模数运算符作为百分比符号。

+1

请删除此内容,因为您的问题已经有了正确的答案。请查看[帮助]部分,了解该网站的工作原理。 –