当我尝试编译以下代码时,它会产生以下错误:
找不到标志
符号:可变飞机
该错误是由最后一条语句产生的。
为什么在声明之后找不到RandomAccessFile对象?
谢谢!
public static void main(String[] args)
{
try
{
RandomAccessFile airplanesFile = new RandomAccessFile("airplanesFile.ran", "rw");
}
catch (FileNotFoundException fnfe)
{
fnfe.printStackTrace();
}
airplanesFile.writeUTF("Test");
}
最佳答案
这与变量作用域有关。 airplanesFile
在try块的大括号内声明。当编译器触及try块的右括号时,它超出范围。
在try语句之前声明RandomAccessFile airplanesFile = null;
,然后将RandomAccessFile airplanesFile = new RandomAccessFile("airplanesFile.ran", "rw");
更改为airplanesFile = new RandomAccessFile("airplanesFile.ran", "rw");
,您的问题应该消失了。