0

我不知道如何从其他类导入方法

错误:SitoEratostenesa(int) 类型未定义 SitoEratostenesaTest 方法

我找到了这个问题,但是我的功能是静态的并且出现了问题。

import java.util.Arrays;
public class SitoEratostenesaTest{
    public static void main(String[] args) {
        int i, x;
        int ilosc=args.length;
        int[] liczby = new int[ilosc-1];
        Arrays.fill(liczby, 0);

        for(i=1; i<ilosc; i++){
            liczby[i]=Integer.parseInt(args[i]);
        }

        for(i=2, x=1; i<args.length; i++){
            if(liczby[x]<liczby[i]){
                    x=i;
            }
        }

        SitoEratostenesa(liczby[x]);
    }
}

第二节课开始于:

import java.util.Arrays;
public class SitoEratostenesa{
    public SitoEratostenesa(int n){
    boolean[] tab = new boolean[n-1];
    //and tab[] gets filled

将东西导入 SitoEratostenesaTest 的主要目的是在其中获取 tab[]。

4

2 回答 2

0

你可以试试new SitoEratostenesa(liczby[x]);


SitoEratostenesa(liczby[x]);

这会尝试调用SitoEratostenesa在 class中调用的函数SitoEratostenesaTest,当然,该函数不存在,并且是您看到的错误。

我希望您想要做的是调用 的构造函数SitoEratostenesa,您需要为此创建该类型的对象,因此您会这样做

new SitoEratostenesa(liczby[x]);
^^^

但是如果你想访问刚刚创建的对象,你需要存储对它的引用,所以你应该这样做

SitoEratostenesa myObj = new SitoEratostenesa(liczby[x]);
于 2013-03-07T09:52:48.627 回答
0

尝试@SuppressWarnings("SameParameterValue")作为注释。要了解更多信息,请参阅SuppressWarnings

于 2016-02-11T05:20:39.980 回答