我正在從頭學習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
)
進入命令提示符,切換到包含的.java和.class文件並調用它像這樣的目錄:'java命令。 AccountDemo'並讓我們知道發生了什麼。你在上面的路徑(roymustang.NT和roymustang/NT)看起來不合適。 – trojanfoe
告訴我們你是如何編譯這個的。 – Tudor
你也編譯過'Account'嗎?你在哪個目錄下執行'java'命令?你有沒有把你的課程放入軟件包中(這些文件不包含在你的文章中)? – Thomas