2012-10-05 23 views
11

I zostały rozwiązywania tego programu przez wiele godzin, próbując kilka konfiguracji, a nie mieli szczęścia. Został on napisany w Javie i posiada 33 błędy (obniżony z 50 przed) Kodbłąd kompilatora: „klasa, interfejs, lub enum oczekiwano”

źródło:

/*This program is named derivativeQuiz.java, stored on a network drive I have permission to edit 
The actual code starts below this line (with the first import statement) */ 
import java.util.Random; 
import java.Math.*; 
import javax.swing.JOptionPane; 
public static void derivativeQuiz(String args[]) 
{ 
    // a bunch of code 
} 

dzienniku błędów (skompilowany w JCreator):

--------------------Configuration: <Default>-------------------- 
H:\Derivative quiz\derivativeQuiz.java:4: class, interface, or enum expected 
public static void derivativeQuiz(String args[]) 
      ^
H:\Derivative quiz\derivativeQuiz.java:9: class, interface, or enum expected 
    int maxCoef = 15; 
    ^
H:\Derivative quiz\derivativeQuiz.java:10: class, interface, or enum expected 
    int question = Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter the number of questions you wish to test on: ")); 
    ^
H:\Derivative quiz\derivativeQuiz.java:11: class, interface, or enum expected 
    int numExp = Integer.parseInt(JOptionPane.showInputDialog(null, "Please enter the maximum exponent allowed (up to 5 supported):")); 
    ^
H:\Derivative quiz\derivativeQuiz.java:12: class, interface, or enum expected 
    Random random = new Random(); 
    ^
H:\Derivative quiz\derivativeQuiz.java:13: class, interface, or enum expected 
    int coeff; 
    ^
H:\Derivative quiz\derivativeQuiz.java:14: class, interface, or enum expected 
    String equation = ""; 
    ^
H:\Derivative quiz\derivativeQuiz.java:15: class, interface, or enum expected 
    String deriv = ""; 
    ^
H:\Derivative quiz\derivativeQuiz.java:16: class, interface, or enum expected 
    for(int z = 0; z <= question; z++) 
    ^
H:\Derivative quiz\derivativeQuiz.java:16: class, interface, or enum expected 
    for(int z = 0; z <= question; z++) 
       ^
H:\Derivative quiz\derivativeQuiz.java:16: class, interface, or enum expected 
    for(int z = 0; z <= question; z++) 
           ^
H:\Derivative quiz\derivativeQuiz.java:19: class, interface, or enum expected 
     deriv = ""; 
     ^
H:\Derivative quiz\derivativeQuiz.java:20: class, interface, or enum expected 
     if(numExp >= 5) 
     ^
H:\Derivative quiz\derivativeQuiz.java:23: class, interface, or enum expected 
      equation = coeff + "X^5 + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:24: class, interface, or enum expected 
      deriv = coeff*5 + "X^4 + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:25: class, interface, or enum expected 
     } 
     ^
H:\Derivative quiz\derivativeQuiz.java:29: class, interface, or enum expected 
      equation = equation + coeff + "X^4 + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:30: class, interface, or enum expected 
      deriv = deriv + coeff*4 + "X^3 + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:31: class, interface, or enum expected 
     } 
     ^
H:\Derivative quiz\derivativeQuiz.java:35: class, interface, or enum expected 
      equation = equation + coeff + "X^3 + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:36: class, interface, or enum expected 
      deriv = deriv + coeff*3 + "X^2 + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:37: class, interface, or enum expected 
     } 
     ^
H:\Derivative quiz\derivativeQuiz.java:41: class, interface, or enum expected 
      equation = equation + coeff + "X^2 + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:42: class, interface, or enum expected 
      deriv = deriv + coeff*2 + "X + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:43: class, interface, or enum expected 
     } 
     ^
H:\Derivative quiz\derivativeQuiz.java:47: class, interface, or enum expected 
      equation = equation + coeff + "X + "; 
      ^
H:\Derivative quiz\derivativeQuiz.java:48: class, interface, or enum expected 
      deriv = deriv + coeff; 
      ^
H:\Derivative quiz\derivativeQuiz.java:49: class, interface, or enum expected 
     } 
     ^
H:\Derivative quiz\derivativeQuiz.java:53: class, interface, or enum expected 
      equation = equation + coeff; 
      ^
H:\Derivative quiz\derivativeQuiz.java:54: class, interface, or enum expected 

      if(deriv == "") 
      ^
H:\Derivative quiz\derivativeQuiz.java:57: class, interface, or enum expected 
      } 
      ^
H:\Derivative quiz\derivativeQuiz.java:114: class, interface, or enum expected 
    JOptionPane.showMessageDialog(null, "Question " + z + "\\" + question + "\nDerivative: " + deriv); 
    ^
H:\Derivative quiz\derivativeQuiz.java:115: class, interface, or enum expected 
    } 
    ^
33 errors 

Process completed. 

czuję się jak to jest podstawowy błąd, ale nie mogę go znaleźć. Jeśli to robi różnicę, używam kompilatora JCreator i wszystko jest poprawnie zainstalowane.

UPDATE: Mam określiła związane błędy (deklaracji klasy i nieprawidłowe instrukcje importu (ktoś wrócił i usunięte kilka średników))

kod roboczych:

import java.util.Random; 
import javax.swing.JOptionPane; 
import java.lang.String; 
public class derivativeQuiz_source{ 
public static void main(String args[]) 
{ 
    //a bunch more code 
} 
} 

Dzięki za wszelką pomoc

+2

Szkoda! Pastebin jest zablokowany w Indiach :( –

+0

OK, ale to jest długa. Usunę kilka uwag (najbardziej arent”potrzeba, będę zostawić te, które zawierają co planuję wdrożyć później. – Azulflame

+0

Pastebin.com jest pod prawym ciężkich ładowań teraz: "(Pastebin powinien wkrótce wrócić do sieci –

Odpowiedz

17

Tęsknisz deklaracji klasy.

public class DerivativeQuiz{ 
    public static void derivativeQuiz(String args[]){ ... } 
} 
+0

źle, nie trzeba '()' po nazwie klasy ... – manub

+0

dzięki. wiedziałem, że to coś głupiego. Przyjmuję po tym, jak timer mi pozwala – Azulflame

7

Każda metoda powinna być w klasie. Twoja metoda jest poza klasą.

public class ClassName { 

///your methods 
} 
3

Nie pamiętam deklarację klasy:

public class MyClass { 
... 
0

Sprawdź definicję swojej funkcji. Jeśli zapomnisz użyciu „()” gdzieś po deklaracji funkcji, ty dostaniesz mnóstwo błędów w tym samym formacie:

... ??: class, interface, or enum expected ... 

A także już zapomnieli zamykanie uchwytu po klasie lub definicji funkcji końcach. Należy jednak pamiętać, że brakujący nawias nie jest jedynym powodem tego typu błędu.

0

klasa, interfejs, lub enum spodziewać

Powyższy błąd jest jeszcze możliwe, gdy oświadczenie import jest orkisz trafił. Właściwą instrukcją jest "import com.company.HelloWorld;"

Jeśli przez pomyłkę podczas pisania/edycji kodu jest pominięty napis: "t com.company.HelloWorld;"

kompilator pokaże „klasa, interfejs, lub enum oczekiwano”

-2

główne klasy powinny być zadeklarowane w klasie tak:

public class derivativeQuiz_source{ 
    // bunch of methods ..... 

    public static void main(String args[]) 
    { 
     // code 
    } 
} 
+0

Jak to opisano w pytaniu (na dole) –