当我对此进行编译时,我得到错误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{}