应该不是他写的,只是挂个名字而已....现在这种事情多了估计谭老师没有学过java....呵呵

解决方案 »

  1.   

      catch(IOException e){}
    如果执行这句话的时候ch就只被定义,没有初始化!!所以最好:char ch = null ;
      

  2.   

    ch的赋值操作在try里,有可能执行不到,就有可能不被初始化,就出错!
    所以不行!
      

  3.   

    Teacher Tang也会Java !!!!!!!!!!!!!!!!!!!!!!!!1
      

  4.   

    不是吧???import java.io.*;class u
      {
        public static void main(String args[])
        {
          char ch = '';
          //ch='';
          System.out.print("Input");
          try
            {
              ch=(char)System.in.read();
                
            }     
          catch(IOException e){}
          
          System.out.println("ASC="+(int)ch); 
        
        }    
      }
      

  5.   

    import java.io.*;class A
      {
        static char ch;
        public static void main(String args[])
        {
          //ch='';
          System.out.print("Input");
          try
            {
              ch=(char)System.in.read();
                
            }    
          catch(IOException e){}
          
          System.out.println("ASC="+(int)ch); 
        
        }    
      } 
      

  6.   

    这个问题的根本原因是在java中局部变量在使用前必须初始化!!!!!!!可能老谭学c太投入了。:)
    局部变量就是在方法中定义的变量!所以程序当然不能编译通过了!
    import java.io.*;class u
      {char ch;
        public static void main(String args[])
        {
          
          //ch='';
      u p=new u();
          System.out.print("Input");
          try
            {
              p.ch=(char)System.in.read();
            
            } 
          catch(IOException e){}
          
          System.out.println("ASC="+(int)p.ch); 
        
        }    
      }