当前位置: 代码迷 >> Java相关 >> 编译为何出错?
  详细解决方案

编译为何出错?

热度:106   发布时间:2006-03-03 20:56:00.0
编译为何出错?

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='空格'就行了.


----------------解决方案--------------------------------------------------------
高手
楼上兄弟真厉害
----------------解决方案--------------------------------------------------------
  相关解决方案