import java.io.*;
class sh1{
static int a[]=new int[20];
public static void main(String arg[])
{
     int i=0;
try{
     System.out.println("Input number:");
     BufferedReader io=new BufferedReader(new InputStreamReader(System.in));
     StringReader ioo=new StringReader(io.readLine());
     
      }     
   catch(Exception e)
   {System.out.println("error!!");}
   a[i]=ioo.read();
     do
     {i++;
     a[i]=ioo.read();
     }while(a[i]!=-1);
  }
}不能通过编译:
C:\Program Files\Xinox Software\JCreator LE\MyProjects\sh.java:15: cannot resolve symbol
symbol  : variable ioo 
location: class sh1
   a[i]=ioo.read();
        ^
意思好象是ioo没有定义??

解决方案 »

  1.   

    static int a[] = new int[20];
    public static void main(String arg[]) {
    int i = 0;
    try {
    System.out.println("Input number:");
    BufferedReader io = new BufferedReader(new InputStreamReader(
    System.in));
    StringReader ioo = new StringReader(io.readLine());
    a[i] = ioo.read();
    do {
    i++;
    a[i] = ioo.read();
    } while (a[i] != -1);
    } catch (Exception e) {
    System.out.println("error!!");
    }
    }
      

  2.   

    ioo成局部变量了,你把
    a[i]=ioo.read();
         do
         {i++;
         a[i]=ioo.read();
         }while(a[i]!=-1);
    放到 catch上面的try块里面import java.io.*;
    class sh1{
    static int a[]=new int[20];
    public static void main(String arg[])
    {
         int i=0;
    try{
         System.out.println("Input number:");
         BufferedReader io=new BufferedReader(new InputStreamReader(System.in));
         StringReader ioo=new StringReader(io.readLine());
         a[i]=ioo.read();
         do
         {i++;
         a[i]=ioo.read();
         }while(a[i]!=-1);
         
          }     
       catch(Exception e)
       {System.out.println("error!!");}
       
      }
    }
      

  3.   

    import java.io.*;class sh1 {
        static int a[] = new int[20];    public static void main(String arg[]) {
            int i = 0;
            try {
                System.out.println("Input number:");
                BufferedReader io = new BufferedReader(new InputStreamReader(System.in));
                StringReader ioo = new StringReader(io.readLine());            a[i] = ioo.read();
                do {
                    i++;
                    a[i] = ioo.read();
                } while (a[i] != -1);
            } catch (Exception e) {
                System.out.println("error!!");
            }
        }
    }
      

  4.   

    多谢!!!
    难道是在try块中声明的变量,其作用域只是在try块中么??