import java.io.*;
public class simple{
public static void main(String args[]){
char c;
System.out.print("Enter a character please:");
try{
c=(char)System.in.read();
}
catch(IOException e){
System.err.println(e.toString());
}
System.out.println("You have entered character"+c);
}
}
编译时提示:variable c might not have been initialized
----------------解决方案--------------------------------------------------------
问题出在c是可以声明但可以不负值
但是如果要是负值就一定要在方法中
import java.io.*;
public class simple{
char c;
void zhou1()
{
try{
c=(char)System.in.read();
}
catch(IOException e){
System.err.println(e.toString());
}
System.out.println("You have entered character"+c);
}
public static void main(String args[]){
simple zz=new simple();
zz.zhou1();
System.out.print("Enter a character please:");
}
}
----------------解决方案--------------------------------------------------------
谢谢高手指点
----------------解决方案--------------------------------------------------------
不是一定要在那个方法赋值中吧!?只是try语句的赋值是不稳定的,不一定被赋了值而已,
所以回报错.
将char c改为char c='空格'就行了.
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------