我在编译时遇到错误:The Local Variable may not have been initialized
。我在使用之前声明并初始化了局部变量doc
,据我所知,它与while循环中的doc
存在于同一范围内。我已经在SO上看到了几个关于这个主题的问题,但是大多数问题都没有初始化变量,这似乎不是我的问题。我将衷心感谢您的帮助。
我在抽象类中声明方法arrayIntKey
,并从main
传递txt文件。错误发生在while循环内。
protected KeyValue[] arrayIntKey(int size,File file) throws FileNotFoundException {
Scanner doc = new Scanner(file);
Integer key;
String value;
KeyValue[] intKey = new KeyValue[size];
int index=0;
while (doc.hasNext()) { //ERROR: local variable doc may not have been initialized
key = doc.nextInt();
value = key.toString();
intKey[index]= new KeyValue(key,value);
++index;
}
return intKey;
}
答案 0 :(得分:0)
您有一个名为文件的文件类型的参数,这可能会导致编译器错误地解释 doc 的初始化。
使用驼峰案例约定:
protected KeyValue[] arrayIntKey(int size,File file) throws FileNotFoundException {