2012-05-10 233 views
0

所以我從字面上開始介紹Java編程,現在我正在嘗試創建我的第二個任務。這樣做的話,我在eclipse中創建了新的java類,但是當我嘗試運行我編寫的代碼時,出現以下錯誤。運行Eclipse時,我在運行代碼後在控制檯中出現錯誤

我不確定如何解決這個問題。任何援助將不勝感激。

Exception in thread "main" java.lang.NoClassDefFoundError: math 
Caused by: java.lang.ClassNotFoundException: math 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
+0

小寫_m_看起來有點可疑... – jahroy

+4

不知道你寫了什麼代碼以及如何啓動它,這很難提供幫助。可以肯定的是,你不尊重兩個原則:總是把類放入一個包中,並遵守Java命名約定:類以大寫字母開頭。 –

+0

public class rounding {public static void main(string [] args){ \t System.outprintln(「Hello World」); –

回答

1

ClassNotFoundException:數學 我猜你在數學中創建了一個大寫爲M的類,但是當你將它稱爲某處時,它不會被大寫,或者被正確引用。嘗試在代碼中仔細檢查。 適合Java標準的友好FYI,儘量確保類是大寫。

+0

我在哪裏或如何做到這一點?也許這是一個修辭問題,但是我在嘗試在eclipse的包資源管理器中啓動並創建一個新類 –

+0

時沒有這樣做,請仔細檢查該類是否爲Math,其中包含大寫字母M.假設情況是這樣,請查看其他任何對象小數M的「數學」類按CTRL + F然後找到數學這個詞,範圍應該是全部,並選擇大小寫敏感。在使用Math類的其他任何類中都可以找到它。 – Frantumn

+0

如果你正在處理多個包,請確保你正確引用了一個導入,如果Math類在一個單獨的包中,它看起來像這樣 'import packagename.Math;' – Frantumn

0

聽起來好像您試圖訪問當前項目或範圍中不存在的名爲「數學」的類。你忘了導入一個你應該使用的特定庫嗎?

+0

是的,我看到了,不知道從哪裏來? –

1

你說你的代碼如下:

public class rounding { 
    public static void main (string[] args){ 
     System.outprintln("Hello World"); 

從您收到此錯誤信息,你最有可能有一個名爲math.java文件的代碼。在Java中,您必須聲明類名稱等於文件名;例如,YourClass.java將聲明public class YourClass {

因此,您需要做的是將您的班級名稱重命名爲math,或者將您的文件命名爲rounding.java,但使用小寫字母開頭的班級名稱非常規。

然而,在這些錯誤的基礎上,你會遇到一個錯誤,說string類型不存在。您需要將類型string[]重命名爲String[],否則JVM將無法識別您的main方法。

您還會收到一個錯誤消息,指出outprintln不是System類的方法。要打印,請使用System.out.println("Your message")而不是System.outprintln("Your message")

+0

該文件默認保存在測試目錄中,我找不到任何文件或任何其他控制檯中第一個錯誤顯示「數學」的文件 –

+0

代碼源文件的名稱是什麼,以及什麼是聲明的類名?這些必須是平等的。 – Vulcan

+0

helloworld是源文件 - helloworld是聲明的類名 –

0

這是正確的代碼:

public class Rounding { 
    public static void main (String[] args){ 
     System.out.println("Hello World"); 
    } 
} 

這通常是由所有誰與Java和Eclipse開始時做了一些小錯誤。 Vulcan已經給出了錯誤的描述。

相關問題