带有java.lang.noclassdeffounderror的线程“main”中的异常

时间:2013-03-28 20:36:36

标签: java exception noclassdeffounderror

它说exept它线程“main”java.lang.noclassdeffounderror:后面跟着十三行“at java。”

我已经尝试了最常见的方法来解决这个错误,我对java来说是全新的,这让我疯了!非常令人沮丧。 :(我将“classpath”环境变量更改为“。”并将正确的路径(C:\ Program Files \ Java \ jdk1.7.0_17 \ bin)复制到“路径”变量。我不认为它我甚至尝试在不同的计算机上使用完全相同的结果(在我更改了环境变量之后)。我从“fordummies”网站下载了代码,所以我不认为它的代码不好...... 我花了最后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)

2 个答案:

答案 0 :(得分:1)

请注意,Java区分大小写,包括命令行中使用的参数。我的猜测是你用

错误地运行你的程序
  

java抵押贷款

由于您的班级名称为Mortgage,因此您必须使用相同的大写字母:

  

java Mortgage

请注意,java程序需要包含main()方法的类的名称。因此,大小写必须与您在代码中声明的大小相匹配。

答案 1 :(得分:0)

我不知道这是不是问题,但值得一试。

首先关闭(这是我不确定的)我认为不是:

  

public static void main(String [] args)

我认为你应该:

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

另一件事是如果你的程序是一个Jar文件,请确保你有manifest.txt文件。 Some information on Jar manifest files.