昨天晚上,我成功運行了我的第一個java程序。非常的激動,第一次啊。激動之余還是有一點要提醒自己或者和我一樣剛剛開始java學習的朋友。 其實昨天晚上我已經成功的編譯了HelloWorld(最經典的程序,我的所有的編程語言的學習都是從她開始的),但是在運行的時候出現了下面的錯誤: Exception in thread "main" java.lang.NoSUChMethodError: HelloWord/class 什么原因呢?我上網搜索解決方法搜到下面的文章:
問HelloWorld問題的人實在是太多了,而且經常都以“問一個最簡單的問題”開頭。其 實回想一下,自己也是從這個階段過來的,說一句“你好”,真的是一個最簡單的問題 嗎?...//think 好了,言歸正傳,let's say "HelloWorld!" in java... 首先,我們要假設一下我們的平臺是Windows+JDK(linux環境下也差不多)。這個環境 是相當普遍、基礎和入門的。確定已經正確安裝JDK了,下一步是小心翼翼地敲入某本教 程上的HelloWorld源碼,存盤,然后編譯,javac ...問題來了: * 錯誤1: 'javac' 不是內部或外部命令,也不是可運行的程序或批處理文件。 (javac: Command not found) 產生的原因是沒有設置好環境變量path。Win98下在autoexce.bat中加入path=%path%;c:/jdk1.2/bin,Win2000下則控制面板->系統->高級->環境變量->系統變量...看到了?雙擊Path,在后面加上c:/jdk1.2/bin。當然我們假設JDK安裝在了c:/jdk1.2目錄下(有點唐僧了?)...似乎還要重啟系統才起作用...(//知道了!//西紅柿)好,再試試!javac HelloWorld
* 錯誤2: HelloWorld is an invalid option or argument. 拜托,給點專業精神,java的源程序是一定要存成.java文件的,而且編譯時要寫全.java呀。 OK, javac HelloWorld.java (這回總該成了吧?)
* 錯誤3: HelloWorld.java:1: Public class helloworld must be defined in a file called "HelloWorld.java". public class helloworld{ ^ 這個問題嘛,是因為你的類的名字與文件的名字不一致。(誰說的,明明看到人家都有這樣寫的 ( ) OK,準確地說,一個Java源程序中可以定義多個類,但是,具有public屬性的類只能有一個,而且要與文件名相一致。還有,main方法一定要放在這個public的類之中,這樣才能java(運行)這個類。另外一點是Java語言里面是嚴格區分大小寫的,初學者要注重呀。像上例中 helloworld 與 HelloWorld 就認為是不一樣,因而...oh... 好,改好了,嘻嘻... javac HelloWorld.java...(咦,怎么什么也沒有呀?)//faint 這就是編譯通過了!看看是不是多了一個HelloWorld.class ?(hehe..按書上教的:) java HelloWorld (!! 這個我知道,不是java HelloWorld.class喲)