java - Java中如何指定主类

标签 java class

我正在改编一个可以编译的程序;但是当我尝试运行它时,我收到一个错误窗口,显示“未找到主类”。我在您的网站上搜索了此类问题(对于 NetBeans),然后尝试在“项目”窗口中单击我的项目。 Lagrange/properties/run 和显示的类是我的程序中的类。我在该窗口中单击“运行”并收到相同的错误消息。 程序粘贴如下:

package lagrange;

class MyMath {
    double xi[] = { 0, 0.5, 1, 1.5, 2 };
    double fi[] = { 1, 0.938470, 0.765198, 0.511828, 0.223891 };
    double x = 0.9;
    double f = aitken(x, xi, fi);

    // Method to carry out the Aitken recursions.
    public double aitken(double x, double xi[], double fi[]) {
        int n = xi.length - 1;
        double ft[] = (double[]) fi.clone();
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < n - i; ++j) {
                ft[j] = (x - xi[j]) / (xi[i + j + 1] - xi[j]) * ft[j + 1]
                        + (x - xi[i + j + 1]) / (xi[j] - xi[i + j + 1]) * ft[j];
            }
        }
        return ft[0];
    }
}

public class Lagrange {
    public void main(String[] args) {
        // TODO code application logic here
        System.out.println("Interpolated value: " + f);
    }
}

最佳答案

它是public static void main - main方法必须是静态。在当前的代码中,您在非静态的内部类中声明了 main 方法。这是不允许的,它将失败,如下所示

static methods can only be declared in a static or top level type.

下面提供了一个适合您的解决方案并进行了这些更改 -

  1. main 方法转移到 MyMath 类。
  2. main 方法是静态的,无法访问非静态成员,因此会创建一个 MyMath 实例并用于打印结果。
<小时/>
package lagrange;

class MyMath {

    double xi[] = { 0, 0.5, 1, 1.5, 2 };
    double fi[] = { 1, 0.938470, 0.765198, 0.511828, 0.223891 };
    double x = 0.9;

    double f = aitken(x, xi, fi);

    // Method to carry out the Aitken recursions.

    public double aitken(double x, double xi[], double fi[]) {
        int n = xi.length - 1;
        double ft[] = (double[]) fi.clone();
        for (int i = 0; i < n; ++i) {
            for (int j = 0; j < n - i; ++j) {
                ft[j] = (x - xi[j]) / (xi[i + j + 1] - xi[j]) * ft[j + 1]
                        + (x - xi[i + j + 1]) / (xi[j] - xi[i + j + 1]) * ft[j];
            }
        }
        return ft[0];
    }

    public static void main(String[] args) {
        System.out.println("Interpolated value: " + new MyMath().f);
    }

}

关于java - Java中如何指定主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41798548/

相关文章:

java - 如何使用离散傅里叶变换在频域中的图像上实现低通滤波器?

c++ - C++中的继承和多文件

Swift For In Loop 遍历一组自定义类不起作用

c++ - 一个指针,c++中的两个不同的类

java - 有没有一个好的框架或示例用于多拓扑与kafka流的集成测试

java - JHipster 如何在文件系统中保存文件?

JAVA - getBytes 返回不带 BOM 的 UTF-8

java - 如何解决 InaccessibleObjectException ("Unable to make {member} accessible: module {A} does not ' opens {package }' to {B}") on Java 9?

c++:用户定义类型的 vector ?

java - 创建一个有组织的 Java 库