【问题标题】:exception in thread "main" with java.lang.noclassdeffounderror [closed]java.lang.noclassdeffounderror线程“main”中的异常[关闭]
【发布时间】:2013-03-28 20:36:36
【问题描述】:

它说 exeption it thread "main" java.lang.noclassdeffounderror: 后跟 13 行 "at java"。

我尝试了最常见的方法来解决这个错误,我对 java 完全陌生,这让我发疯了!它非常令人沮丧。 :( 我将“类路径”环境变量更改为“。”并将正确的路径(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)

【问题讨论】:

标签: java exception noclassdeffounderror


【解决方案1】:

请注意,Java 区分大小写,包括在命令行中使用的参数。我的猜测是你的程序运行不正确

java抵押

由于您的班级名称是Mortgage,您必须使用相同的大写:

java抵押

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

【讨论】:

    【解决方案2】:

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

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

    public static void main(String[] args)

    我认为你应该有:

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

    另一件事是,如果您将程序制作为 Jar 文件,请确保您拥有 manifest.txt 文件。 Some information on Jar manifest files.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-20
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多