当我对此进行编译时,我得到错误IntSetGenerator不是抽象的,并且没有覆盖InstanceGenerator中的抽象方法generate_data(int,int)
IntSetGenerator类实现InstanceGenerator。这是什么意思?另外,我可以用我的代码对其进行修复,以使错误不会出现。

这是IntSetGenerator的代码

 import java.util.*;

class IntSetGenerator implements InstanceGenerator
{
    public Object makeInstance(long seed, long p1, long p2)
    {
        return makeIntSet(seed, p1, p2);
    }

    public long[] makeIntSet(long seed, long size, long max)
    {
        int count = 0;
        int arraysize = Long.valueOf(size).intValue();
        int maxvalue = Long.valueOf(max).intValue();
        long [] iset = new long[arraysize];
        Random randgen = new Random(seed);

        while (count < size)
        {
            iset[count] = (long) randgen.nextInt(maxvalue)+1;
            count++;
        }
        return iset;
    }

    public long[] makeIntSet(long size, long max)
    {
        int count = 0;
        int arraysize = Long.valueOf(size).intValue();
        int maxvalue = Long.valueOf(max).intValue();
        long [] iset = new long[arraysize];
        Random randgen = new Random();

        while (count < size)
        {
            iset[count] = (long) randgen.nextInt(maxvalue)+1;
            count++;
        }
        return iset;
    }
}

这是InstanceGenerator的代码
public interface InstanceGenerator {

    public int[] generate_data(int size,int maximum);


}

最佳答案

您必须在IntSetGenerator类中实现generate_data(int value,int maxValue)。

例:

public int[] generate_data(int size,int maximum){
    //do something here
}

或将IntSetGenerator类标记为“抽象”。就像马克·鲍姆巴赫所说。

例:abstract class IntSetGenerator implements InstanceGenerator{}

09-26 08:03