编译器错误:“类,接口或枚举预期”
我已经对这个程序进行了几个小时的故障排除,尝试了几种配置,但没有运气。 它是用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: -------------------- 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 = 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进行编译,并且所有内容都已正确安装。
更新:我修复了所涉及的错误(类声明和错误的导入语句(某人返回并删除了一些分号))
工作代码:
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 }
你忘了你的class级声明:
public class MyClass { ...
看看你的函数的定义。 如果你忘记在函数声明之后使用“()”,你会得到相同格式的大量错误:
... ??: class, interface, or enum expected ...
在您的课程或function定义结束后,您也忘记了结束括号。 但请注意,这些缺失括号,并不是造成此类错误的唯一原因。
class,interface或enum expected
当import语句拼写错误时,甚至可能出现上述错误。 一个恰当的陈述是“import com.company.HelloWorld;”
如果在编写/编辑代码时错误地写错了“t com.company.HelloWorld;”
编译器将显示“class,interface或enum expected”
主类应该在你的类中声明如下:
public class derivativeQuiz_source{ // bunch of methods ..... public static void main(String args[]) { // code } }