2013-03-28 64 views
0

它說exeption它線程「main」java.lang.noclassdeffounderror:後面跟着十三行「at java」。線程「main」中的異常java.lang.noclassdeffounderror

我嘗試了最常見的方法來解決這個錯誤,即時通訊全新的Java,這是讓我瘋了!非常令人沮喪。 :(我改變了「classpath」環境變量爲「。」,並將正確的路徑(C:\ Program Files \ Java \ jdk1.7.0_17 \ bin)也複製到了「path」變量中。 。我甚至在不同的計算機上試過它,結果完全相同(在我更改了環境變量後)。我從「fordummies」網站下載了代碼,所以我不認爲它的錯誤代碼... Ive花了最後4小時研究這個,我想它的時候求助於專家諮詢:) :)

// This program prompts for information about a loan and 
// computes the monthly loan payment. 

import java.util.*; // for Scanner 

public class Mortgage { 
    public static void main(String[] args) { 
     Scanner console = new Scanner(System.in); 

     // obtain values 
     System.out.println("This program computes monthly " + 
          "loan payments."); 
     System.out.print("loan amount  : "); 
     double loan = console.nextDouble(); 
     System.out.print("number of years : "); 
     int years = console.nextInt(); 
     System.out.print("interest rate : "); 
     double rate = console.nextDouble(); 
     System.out.println(); 

     // compute result and report 
     int n = 12 * years; 
     double c = rate/12.0/100.0; 
     double payment = loan * c * Math.pow(1 + c, n)/
         (Math.pow(1 + c, n) - 1); 
     System.out.println("payment = $" + (int) payment); 
    } 
} 

的錯誤是:

at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(unknown Source) 
    at java.security.AccessController.DoPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 
+4

請正確顯示*錯誤信息是什麼,*完全是*您如何嘗試運行它。 –

+0

你在命令行上運行了哪些命令? –

+0

可能的重複[爲什麼我會在Java中得到一個NoClassDefFoundError?](http://stackoverflow.com/questions/34413/why-am-i-getting-a-noclassdeffounderror-in-java) –

回答

1

注意,Java是區分大小寫的,包括AR在命令行中使用的命令。我的猜測是,你是不正確地運行您的程序

java mortgage

由於類的名字是Mortgage,你必須使用相同的大寫:

java Mortgage

注意,java程序期望的名稱該類包含main()方法。因此,大小寫必須與您在代碼中聲明的內容相符。

0

我不知道這是問題,但它的值得一試。

首先(這是什麼,我不知道),我認爲不是:

public static void main(String[] args)

我認爲你應該有:

public static void main(String args[]){} 

另一件事是確保你有你的manifest.txt文件,如果你正在讓你的程序是一個jar文件。 Some information on Jar manifest files.

相關問題