我收到了消息
“Example.java:21:错误:找不到符号
Scanner finput = new Scanner(filed); ^
符号:变量提交
location:class Example“
当我收集我的程序时。我已经尝试过了,但我无法弄清楚为什么会出现这个错误。
这是代码
public class Example
{
public static void main(String[] args) throws Exception
{
java.io.File filer = new java.io.File("RESULT.txt");
System.out.println("Choose the location of the data file");
JFileChooser fileCh = new JFileChooser();
if (fileCh.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
java.io.File filed = fileCh.getSelectedFile();
}
else {
System.out.println ("No file choosen.");
System.exit(1);
}
Scanner finput = new Scanner(filed);
}
}
答案 0 :(得分:0)
您收到此错误是因为正在从非法范围访问filed
。尝试在if语句之外定义java.io.File filed
。或许你想使用Scanner finput = new Scanner(filer)
?
答案 1 :(得分:0)
正如已经提到的那样,你需要在if语句之外移动filed
变量的声明。你的代码可以是这样的:
public static void main(String[] args) throws Exception {
java.io.File filer = new java.io.File("RESULT.txt");
System.out.println("Choose the location of the data file");
JFileChooser fileCh = new JFileChooser();
java.io.File filed = null;
if (fileCh.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
filed = fileCh.getSelectedFile();
} else {
System.out.println("No file choosen.");
System.exit(1);
}
Scanner finput = new Scanner(filed);
}
现在工作正常。