2011-11-15 107 views
2

我正在從頭學習Java。我安裝了JDK,並且運行了Hello World程序。我正在嘗試運行一個簡單的accountdemo程序。在Account.java中,我有:使用類時出現NoClassDefFoundError

public class Account 
{ 
    protected double balance; 

    // Constructor to initialize balance 
    public Account(double amount) 
{ 
    balance = amount; 
} 

    // Overloaded constructor for empty balance 
    public Account() 
{ 
    balance = 0.0; 
} 

    public void deposit(double amount) 
{ 
    balance += amount; 
} 

    public double withdraw(double amount) 
{ 
      // See if amount can be withdrawn 
    if (balance >= amount) 
    { 
     balance -= amount; 
        return amount; 
    } 
    else 
      // Withdrawal not allowed 
        return 0.0; 
} 

    public double getbalance() 
{ 
      return balance; 
} 
} 

在編譯時,我得到了Account.class。在accountdemo.java中,我有這個

class AccountDemo 
{ 

public static void main(String args[]) 
{ 
Account my_account = new Account(); 
my_account.deposit(250.00); 
System.out.println("Current balance " + my_account.getbalance()); 
my_account.withdraw(80.00); 
System.out.println("Remaining balance" + my_account.getbalance()); 
} 


} 

在編譯時,我得到了AccountDemo.class。但是,當我嘗試運行這是一個應用程序,我得到的錯誤java.lang.NoClassDefFoundError: C:\用戶\萊·馬斯丹/ NT \文檔\ javaprogram \ accountdemo/JAVA

我已經將classpath設置爲: C:\ Users \ roymustang.NT \ Documents \ javaprogram

我錯過了什麼明顯?像不匹配的大寫字母或什麼?

編輯:不是作業,只是想學習。

我正在使用Textpad,http://www.textpad.com/。它有一個選項運行命令。所以,我已經配置它運行的javac.exe(C:\Program Files\SDK\jdk\bin\javac.exe $File $FileDir

和java.exe的有作爲應用程序運行(C:\Program Files\SDK\jdk\bin\java.exe $File $FileDir

+0

進入命令提示符,切換到包含的.java和.class文件並調用它像這樣的目錄:'java命令。 AccountDemo'並讓我們知道發生了什麼。你在上面的路徑(roymustang.NT和roymustang/NT)看起來不合適。 – trojanfoe

+2

告訴我們你是如何編譯這個的。 – Tudor

+0

你也編譯過'Account'嗎?你在哪個目錄下執行'java'命令?你有沒有把你的課程放入軟件包中(這些文件不包含在你的文章中)? – Thomas

回答

3

您好我會假設你正試圖利用這個沒有Java IDE運行例如Eclipse或Netbeans。我測試了你的代碼,他們工作得很好。

C:>java AccountDemo Current balance 250.0 Remaining balance170.0

你的錯誤信息是:

java.lang.NoClassDefFoundError: C:\Users\roymustang/NT\Documents\javaprogram\accountdemo/java

這意味着你使用:

java accountdemo

運行程序。請記住,Java是區分大小寫的,這可以通過使用此更正。

java AccountDemo

編碼快樂^ _^

+0

我不斷收到 「錯誤:無法找到或加載主類AccountDemo」 – roymustang86

+0

1)儘量重新編譯AccountDemo.java - > 的javac AccountDemo.java 2)然後使用 - > java AccountDemo – royjavelosa

相關問題