2012-10-05 2452 views
11

我一直在對這個程序進行幾個小時的故障排除,嘗試了幾個配置,但都沒有運氣。它已經用Java編寫的,並有33個錯誤(之前從50降低)編譯器錯誤:「class,interface,or enum expected」

源代碼:

/*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進行編譯,並且所有內容都已正確安裝。

更新: 我有固定的參與錯誤(類聲明和不正確的import語句(一個人回去,並刪除一些分號))

工作代碼:

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

好,但它很長,我會刪除一些評論(大多數不是必需的,我會留下那些包含我計劃稍後實施的東西)。 – 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語句是小姐拼寫上述錯誤甚至有可能。 正確的說法是「import com.company.HelloWorld;」

如果在代碼編寫/編輯時錯誤地寫錯了,如 「t com.company.HelloWorld;」

編譯器會顯示「類,接口,或枚舉預期」

-2

主類應該在你的類聲明如下:

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

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

正如在問題中所描述的(在底部) –

相關問題