import java.io.*;
public class java3{
public static void main(String[] args){
char c;
System.out.println("Enter a letter:");
try{c=(char)System.in.read();}
catch(IOException e){};
System.out.print(c);
}
}编译时为何总是错?
C:\test>javac java3.java
java3.java:8: variable c might not have been initialized
                System.out.print(c);
                                 ^

解决方案 »

  1.   

    局部变量(这里的c)在使用前要赋一个初值才好,改为:char c=' ';但好象并不是所有情况都这样,稳妥起见,在定义一个局部变量的同时赋上初值.
      

  2.   

    char c=null 应该不可以吧,null是赋值给引用变量的
      

  3.   

    在char c;这一句后面加一句:c=new Char();
    这样就给c分配一个内存引用地址;
      

  4.   

    char c=null;  无法编译通过啊 jdk1.5
    可以把 char c=' ';
     因为c可能无法初始化造成的