Ответ 1
Вы пропустите объявление класса.
public class DerivativeQuiz{
public static void derivativeQuiz(String args[]){ ... }
}
Я несколько раз искал эту программу, пробовал несколько конфигураций и не повезло. Он был написан в 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
}
}
Спасибо за помощь
Вы пропустите объявление класса.
public class DerivativeQuiz{
public static void derivativeQuiz(String args[]){ ... }
}
Каждый метод должен находиться внутри класса. Ваш метод derivativeQuiz
находится вне класса.
public class ClassName {
///your methods
}
Вы забыли свое объявление класса:
public class MyClass {
...
Посмотрите на определение функции. Если вы забыли использовать "()" после объявления функции где-нибудь, вы получите много ошибок в том же формате:
... ??: class, interface, or enum expected ...
А также вы забыли закрытие скобки после завершения определения вашего класса или функции. Но обратите внимание, что эти недостающие скобки не являются единственной причиной такого типа ошибок.
класс, интерфейс или enum ожидается
Вышеприведенная ошибка возможна даже в случае пропущенного оператора импорта. Правильное утверждение - "import com.company.HelloWorld;"
Если по ошибке при написании и редактировании кода это не так написано, как "t com.company.HelloWorld;"
компилятор покажет "класс, интерфейс или enum expected"
основной класс должен быть объявлен в вашем классе следующим образом:
public class derivativeQuiz_source{
// bunch of methods .....
public static void main(String args[])
{
// code
}
}