我试图在java中运行一个smirnov测试,看看两组数据是否来自同一个发行版。然而,我得到一个“找不到符号”的错误。如何“构造”一个smirnov测试以避免出现此错误?

import java.io.*;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.*;
import jsc.independentsamples.SmirnovTest;
import jsc.*;

public class test{

  public static void main(String[] arg) throws Exception {

    double[] array1 = {1.1,2.2,3.3};
    double[] array2 = {1.2,2.3,3.4};

    SmirnovTest test = SmirnovTest(array1, array2);

    test.getSP();

  }
}

最佳答案

两个可能的问题,不是相互排斥的,其中一个肯定是一个问题。
你的路径不对。确保jsc.jar在您的类路径中。
您需要使用实例创建表达式调用SmirnovTest的构造函数,该表达式需要使用关键字new
那就是

SmirnovTest test = new SmirnovTest(array1, array2);
                   ^^^

第二个肯定是你的代码有问题。不使用关键字newjavac将解释
SmirnovTest test = SmirnovTest(array1, array2);

作为方法调用,在类SmirnovTest中查找名为test的方法。您没有它,因此它将以cannot find symbol错误死亡,无论您是否成功导入jsc.jar
如果不是第一个问题,请修复第二个问题。

08-06 11:41