一个public class server extends Thread类的构造方法:public server(){  
    try{
    S = new ServerSocket(8899);
    FileWriter fw1 = new FileWriter("c:\\transmit\\log.dat",true);        
      PrintWriter pw1 = new PrintWriter(fw1);
    }catch(IOException e){
    myface.flyOutputStream("Creat ServerSocket Err...");
    }     
       pw1.println("*******Server started*******");
       pw1.flush();
       pw1.close();
    start(); 

编译通不过 提示 找不到符号 pw1???什么原因》》》???

解决方案 »

  1.   


       FileWriter fw1 = null;
       PrintWriter pw1 = null;// 放到try外面定义
     try{ 
        S = new ServerSocket(8899); 
        fw1 = new FileWriter("c:\\transmit\\log.dat",true);       
        pw1 = new PrintWriter(fw1); 
      

  2.   

    public server(){PrintWriter pw1;
        try{
        S = new ServerSocket(8899);
        FileWriter fw1  = new FileWriter("c:\\transmit\\log.dat",true);      
        pw1 = new PrintWriter(fw1);
        }catch(IOException e){
        myface.flyOutputStream("Creat ServerSocket Err...");
        }    
          pw1.println("*******Server started*******");
          pw1.flush();
          pw1.close();
        start();
      

  3.   

    pw1定义在try...catch块中,而你却在块外使用这个变量,自然找不到了