2017-03-26 4 views
-3

Je suis nouvelle programmation avec Java et j'ai trouvé une erreur que je n'ai pas été capable de résoudre. J'ai révisé tout mon code plusieurs fois et je ne trouve aucune erreur (il se peut aussi que je ne sois pas vraiment expérimenté avec la langue: /). Lorsque vous essayez d'exécuter mon code, voici ce que la console me montreException dans le fil "principal" java.lang.RuntimeException: code source Incompilable - ne peut pas trouver le symbole

« Exception dans le thread "principal" java.lang.RuntimeException: code source Uncompilable - ne peut pas trouver le symbole symbole: TaxReturn variables emplacement: classe taxReturnTester. ... "

Je peux voir l'erreur est à cause de ma variable" TaxReturn "mais en plus de changer une erreur de capitalisation initiale, je ne vois pas ce qui ne va pas avec !!

Ceci est mon code:

package taxreturn; 


public class TaxReturn { 

    public TaxReturn (double anIncome, int aStatus){ 

    income=anIncome; 
    status = aStatus; 


} 

public double getTax(){ 
    double tax = 0; 

    if (status == Single){ 
     if (income <= Single_Bracket1) 
      tax = Rate1 * income; 
      else if (income <= Single_Bracket2) 
      tax = Rate1 * Single_Bracket1 + Rate2*(income - Single_Bracket1); 
     else 
      tax = Rate1 * Single_Bracket1 + Rate2 * (Single_Bracket2 - 
Single_Bracket1) + Rate3 * (income - Single_Bracket2); 

    else 

      if (income<= Married_Bracket1) 
       tax=Rate1 * income; 
      else if (income <= Married_Bracket2) 
       tax= Rate1 * Married_Bracket1 + Rate2 * (income - 
Married_Bracket1); 

      else 
       tax = Rate1 * Married_Bracket1 + Rate2 * (Married_Bracket2 - 
Married_Bracket1) + Rate3 * (income - Married_Bracket2); 

    } 

     return tax; 

public static final int Single = 1; 
public static final int Married = 2; 
private static final double Rate1= 0.5; 
private static final double Rate2= 0.25; 
private static final double Rate3= 0.75; 
private static final double Single_Bracket1= 21450; 
private static final double Single_Bracket2= 51900; 
private static final double Married_Bracket1= 35000; 
private static final double Married_Bracket2= 86800; 
private double income; 
private int status; 



import java.util.Scanner; 
public class taxReturnTester { 

    public static void main (String [] args) { 
    Scanner in = new Scanner (System.in); 
    System.out.print("Please Enter your Income:"); 
    double income = in.nextDouble(); 
    System.out.print("Please enter S (single) M (Married): "); 
    String input = in.next(); 

// CHECK POINT 

System.out.println("Check point1"); 

int status= 0; 

if (input.equalsIgnoreCase("s")) 
    status= TaxReturn.single; 
else if (input.equalsIgnoreCase("m")) 
    status = TaxReturn.married; 
else 
    System.out.println("Wrong Input. Please do it again"); 

return; 
} 
} 
TaxReturn aTaxReturn = new TaxReturn(income,status); 

System.out.println ("The tax is" + aTaxReturn.getTax()); 
+0

Vous ne l'avez pas importé votre 'TaxReturn' dans votre' 'taxReturnTester –

+0

Merci beaucoup! – Monique

Répondre

0
package taxreturn; 


import java.util.Scanner; // on top 


    public class TaxReturn { 
    // only one public class per file 


    public static final int Single = 1; 
    public static final int Married = 2; 
    private static final double Rate1= 0.5; 
    private static final double Rate2= 0.25; 
    private static final double Rate3= 0.75; 
    private static final double Single_Bracket1= 21450; 
    private static final double Single_Bracket2= 51900; 
    private static final double Married_Bracket1= 35000; 
    private static final double Married_Bracket2= 86800; 

    private double income; 
    private int status; 



public TaxReturn (double anIncome, int aStatus){ 
income=anIncome; 
status = aStatus; 
} 

    public double getTax(){ 
     double tax = 0; 

if (status == Single){ 
    if (income <= Single_Bracket1) 

     tax = Rate1 * income; 
     else if (income <= Single_Bracket2) 
     tax = Rate1 * Single_Bracket1 + Rate2*(income - Single_Bracket1); 
    else 
     tax = Rate1 * Single_Bracket1 + Rate2 * (Single_Bracket2 -    Single_Bracket1) + Rate3 * (income - Single_Bracket2); 
    } // added 

else 

     if (income<= Married_Bracket1) 
      tax=Rate1 * income; 
     else if (income <= Married_Bracket2) 
      tax= Rate1 * Married_Bracket1 + Rate2 * (income - 
    Married_Bracket1); 

     else 
      tax = Rate1 * Married_Bracket1 + Rate2 * (Married_Bracket2 - 
    Married_Bracket1) + Rate3 * (income - Married_Bracket2); 

    // not here } 

    return tax; 
    } // ends getTax 

} // added, ends class 


    // import java.util.Scanner; not here 
    class taxReturnTester { 

public static void main (String [] args) { 
Scanner in = new Scanner (System.in); 
System.out.print("Please Enter your Income:"); 
double income = in.nextDouble(); 
System.out.print("Please enter S (single) M (Married): "); 
String input = in.next(); 

    // CHECK POINT 

    System.out.println("Check point1"); 

    int status= 0; 

    if (input.equalsIgnoreCase("s")) 
     status= TaxReturn.Single;   // upcase 
    else if (input.equalsIgnoreCase("m")) 
     status = TaxReturn.Married;   // upcase 
    else 
    { // added 

System.out.println("Wrong Input. Please do it again"); 
    return; 
    } // added 
    TaxReturn aTaxReturn = new TaxReturn(income,status); 
    System.out.println ("The tax is: " + aTaxReturn.getTax()); // added space 
    } // ends main 
    } // ends class 

// not out any classes 
// TaxReturn aTaxReturn = new TaxReturn(income,status); 
// System.out.println ("The tax is" + aTaxReturn.getTax()); 
+1

Ne publiez pas de réponses uniquement au code. S'il vous plaît ajouter quelques explications à votre réponse, il sera utile pour les futurs visiteurs. – Shashanth