日期:2014-05-20  浏览次数:20925 次

找不到符号怎么回事啊?
Java code
package ch1.inputstream;
import java.io.*;
public class data
{
    
    public  static void main(String args[]){
        try{
        FileInputStream fin=new FileInputStream("D:\\javadaima\\src\\ch1\\inputstream\\a.txt");
        }catch(FileNotFoundException ex){ex.printStackTrace();}
        try{
    byte b=(byte)fin.read();

        }catch(IOException ex){ex.printStackTrace();}
    System.out.println(b);
    }
}


D:\javadaima>javac -d class D:\javadaima\src\ch1\inputstream\data.java
D:\javadaima\src\ch1\inputstream\data.java:11: 找不到符号
符号: 变量 fin
位置: 类 ch1.inputstream.data
  byte b=(byte)fin.read();
  ^
D:\javadaima\src\ch1\inputstream\data.java:14: 找不到符号
符号: 变量 b
位置: 类 ch1.inputstream.data
  System.out.println(b);
  ^
2 错误


------解决方案--------------------
fin和b都是局部变量 不在他的作用域使用当然会出问题
先在外面声明并初始化
Java code

package ch1.inputstream;
import java.io.*;
public class data
{
    
    public  static void main(String args[]){
        FileInputStream fin= null ;
        byte b = 0 ;
        try{
        fin=new FileInputStream("D:\\javadaima\\src\\ch1\\inputstream\\a.txt");
        }catch(FileNotFoundException ex){ex.printStackTrace();}
        try{
        b=(byte)fin.read();

        }catch(IOException ex){ex.printStackTrace();}
    System.out.println(b);
    }
}