3

我正在尝试在 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();

  }
}
4

2 回答 2

1

两个可能的问题,不是相互排斥的,其中一个绝对是一个问题。

  1. 你的类路径是错误的。确保它jsc.jar在你的类路径中。
  2. SmirnovTest您需要使用需要使用关键字的实例创建表达式来调用构造函数new

那是

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

第二个绝对是您的代码的问题。不使用关键字newjavac将解释

SmirnovTest test = SmirnovTest(array1, array2);

作为方法调用并查找SmirnovTest在类中命名的方法test。你没有它,所以无论你是否成功导入它都会cannot find symbol报错。jsc.jar

如果不是这些问题中的第一个,请修复第二个。

于 2013-08-07T23:47:56.420 回答
0

谢谢您的帮助。这是最终的代码:

import java.util.ArrayList;

import jsc.independentsamples.SmirnovTest;



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 = new SmirnovTest(array1, array2);

System.out.println(test.getSP());




 }

}

输出为:1.0

于 2013-08-08T18:39:29.407 回答