这个错误是什么意思?在try catch块下面的代码的每一行上都会发生此错误。我很困惑为什么这个错误不断出现。
我的进口商品:
import java.util.*;
import java.io.*;
我的方法:
public static void readLists(ArrayList <String> list1, ArrayList <String> list2)
{
Scanner list1s;
Scanner list2s;
try
{
list1s = new Scanner(new File("list1.txt"));
list2s = new Scanner(new File ("list2.txt"));
}
catch(FileNotFoundException ex)
{
System.out.println("File not found!\n");
}
while(list1s.hasNext())
list1.add(list1s.next());
while(list2s.hasNext())
list2.add(list2s.next());
list1s.close();
list2s.close();
}
更新的代码来自评论中的建议。但是,我收到以下错误:变量list1s可能尚未初始化 而(list1s.hasNext())
如果我在try / catch中没有扫描器声明和初始化。知道为什么会这样吗?
答案 0 :(得分:1)
static Scanner list1s;
static Scanner list2s;
public static void readLists(ArrayList <String> list1, ArrayList <String> list2)
{
try
{
list1s = new Scanner(new File("list1.txt"));
list2s = new Scanner(new File ("list2.txt"));
}
catch(FileNotFoundException ex)
{
System.out.println("File not found!\n");
}
// Your code
}
仅供参考:声明时的类和实例变量会自动赋予其默认值。