2016-10-02 17 views
-1

私は最初の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

答えて

1

パーセント演算子、%はJavaにありません。 Javaは%を残余(ややモジュラスのような)演算子と見なし、思うように動作しません。

ので0.15または15.0/100を行う、またはその代わりに15%

の似たような、例えば、この:

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

は、それは単純なミスだった

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

それはありがとうございました! – presence

+0

@SteeleDesmond:歓迎して、StackOverflowへようこそ。 –

-1

になります。モジュラス演算子をパーセント記号として使用していました。

+1

あなたの質問にはすでに正しい答えがあるので、これを削除してください。このサイトの仕組みを知るには、[ヘルプ]セクションをご覧ください。 –

関連する問題