import java.io.*;
public class Sudoku
{
static Set empty = new Set(9);
static Set fullSet;
static int [][] board;
static Set [][] allowedSets;
...
}
这只是代码的一部分。
我的问题是: 有时候它会显示我找不到符号类Set,有时它会告诉我它是一个抽象类而且无法实例化。
我想创建一个板[9] x [9]
答案 0 :(得分:1)
Cyneon,
我相信你的问题是你没有导入正确的Set类。
您正在尝试创建位于java.util.Set中的Collection Set
。
因此,在类的顶部添加import java.util.Set;
并使用Set接口的实现来实例化Set,例如HashSet
。
请注意,如果您使用HashSet,您还需要在使用之前导入它,因此请包含import java.util.HashSet
。
答案 1 :(得分:1)
您无法实例化Set(new Set(9)
),因为它是一个接口。但是,您可以实例化其中一个实现,例如HashSet
,并将该对象影响到Set
类型的变量:
static Set empty = new HashSet(9);
如果您遇到cannot find symbol class
错误,则必须是您没有添加相关导入。您可能需要import java.util.Set
和import java.util.HashSet
。
答案 2 :(得分:1)
Set是一个接口,接口无法实例化,您可以实现以下其中一个:HashSet,TreeSet和LinkedHashSet。 例如以这种方式:
Set<String> s = new HashSet<String>();
这是文档。 https://docs.oracle.com/javase/tutorial/collections/interfaces/set.html