2013-09-28 40 views
0

我是一名Java初學者。我寫了一首典型的「你好,世界!」程序。它編譯,但不會運行。終端說在線程main中有一個例外,並且找不到類hello。我正在使用Ubuntu 12.04。這裏有什麼可能是錯的?運行已編譯的java程序的問題

該文件被稱爲hello.java。

的命令我使用:

$ javac的hello.java
$ java的招呼

我的代碼如下:

class hello{ 
public static void main(String[] args) { 
    system.out.print("Hello"); 
} 
} 

編輯---------- -------------------------------------------------- -----------------------------

我剛剛意識到我正在使用openjdk7。這是否構成問題?

+0

向我們展示您運行此程序的命令。 –

+0

這個課程包是什麼包,你如何嘗試運行它? *編輯*毆打... – Desidero

+1

顯示您的完整錯誤日誌 –

回答

0

那是你所有的代碼嗎?由於您使用的是終端,您是否可以將命令ls -lR的結果添加到您的問題中? (在與執行應用程序的原始命令相同的目錄中運行它)。

+0

這就是我所有的代碼 – tys

+0

我無法添加它。結果可能是1000行 – tys

+0

啊,好吧 - 試試'java -cp。你好' –

1

類必須是:public class hello 是System.out.print是錯誤的,必須是:System.out.println("Hello World");

+0

如果語法錯誤編譯失敗。 @tys表示該程序正在編譯。 – SKR

+0

@pieter,謝謝。我只是試過這個;然而,它仍然拋出同樣的錯誤。 – tys

+0

它編譯好。 – tys

1

是文件名招呼,或者喂?我重複你的問題的唯一方法是讓類名錯誤,而在java中,類名必須完全匹配(也是這種情況)。所以如果你的文件名是Hello.java並且類名是hello那麼程序會很好地編譯,但是會拋出你提到的同樣的錯誤。這只是一個猜測。