2012-10-05 3 views
11

Я искал эту программу часами, пробовал несколько конфигураций и не повезло. Это было написано в Java, и имеет 33 ошибок (пониженные от 50 до того)Ошибка компилятора: «класс, интерфейс или перечисление ожидаются»

Исходный код:

/*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 
} 

журнал ошибок (составитель в 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. 

Я чувствую, это основная ошибка, и все же я не могу ее найти. Если это имеет значение, я использую JCreator для компиляции и все установлено правильно.

UPDATE: Я установил ошибки, связанные (объявлении класса и некорректные заявления импорта (кто-то вернулся и удалил несколько точек с запятой))

Рабочий код:

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 
} 
} 

Спасибо за помощь

+2

Слишком плохо! PasteBin заблокирован в Индии :( –

+0

ОК, но он длинный. Я удалю некоторые комментарии (требуется большинство arent, я оставлю те, которые содержат вещи, которые я планирую реализовать позже). – Azulflame

+0

Pastebin.com находится под большой нагрузкой теперь: '(Pastebin должен скоро вернуться в интернет. –

ответ

17

Вы пропустите объявление класса.

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

Неправильно, не нужно '()' после имени класса ... – manub

+0

спасибо. знал, что это что-то глупое. Я соглашусь после того, как таймер позволяет мне – Azulflame

7

Каждый метод должен быть в пределах класса. Ваш метод derivativeQuiz находится за пределами класса.

public class ClassName { 

///your methods 
} 
3

Вы забыли своё объявление класса:

public class MyClass { 
... 
0

Посмотрите на определение своей функции. Если вы забыли, используя «()» после объявления функции где-то, вы будете получать много ошибок в том же формате:

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

А также вы забыли закрыть скобку после окончания Вашего класса или определения функции. Но обратите внимание, что эти недостающие скобки не являются единственной причиной такого типа ошибок.

0

класс, интерфейс или перечисление ожидается

выше ошибка возможно даже при импорте заявление мисс пишется. Правильное утверждение: «import com.company.HelloWorld;»

Если по ошибке во время написания/редактирования кода это не написано как «t com.company.HelloWorld;»

компилятор покажет «класс, интерфейс или перечисление ожидается»

-2

основной класс должен быть объявлен в классе, как это:

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

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

Как описано в вопросе (внизу) –

Смежные вопросы