我编译下面这个程序,cmd说 java:11:可能尚未初始化变量(要知道这个程序我可是照抄书上的啊)
import java.io.*;
public class SimpleCharInOut
{
    public static void main(String args[])
        {
              char c;                                          //定义字符形变量
              System.out.print("Enter a character please:");   //在屏幕上显示提示信息
              try{
                   c=(char)System.in.read();                  //接受用户键盘输入的字符
              }catch(IOException e){};                        //并保存在变量c中
              System.out.println("You've enterd character"+c);//向屏幕输出变量c中保存
        }                                                    //的字符
}

解决方案 »

  1.   

    char c; //c可能没有初始化,如果try中抛异常的话,print语句就会引用没有初始化的变量char cc = ' ' ;
      

  2.   

    c=(char)System.in.read();    里面出现异常 
    在catch 里面你还想让他显示C  那时候C 还没初始化呢
      

  3.   

    那是因为把c的初始化语句放在了try里边。把第一句改成char c = 0; 就没问题了
      

  4.   

    System.out.println("You've enterd character"+c);//向屏幕输出变量c中保存
    如果不给c一个初始值,就把这句放到try中去。
      

  5.   

    那是因为把c的初始化语句放在了try里边。把第一句改成char c = 0; 就没问题了
    ----------------------------------------------------------------------------
    LZ千万别听他的,那样还能没问题,肯定报数据类型不匹配。
    还是听坐沙发的说
    char c = ' ' ;(初始化)
    或者是把
    char c;放到main()之外,那样就成了类的局部变量,jre会自动初始化它的。
      

  6.   


    我们用java来解决实际问题。java技术交流,讨论java的技术细节和最新技术。欢迎中高级程序员以及渴望学习java技术的初学者加入讨论。QQ群:3001581
      

  7.   

    TO OnlyFor_love  char c = 'aa';???? 这样不行的 不是char么?
      

  8.   

    char c = 'aa',  aa是String吧
      

  9.   

    char c = 0;  0这里是什么意思?
      

  10.   

    Java的char可以作为无符号整数使用,取值范围/u0000-/uFFFF。
      

  11.   

    char 就是一种整型嘛,只不过范围小点,基础知识啦
      

  12.   

    在你代码中有这么一行,
    c=(char)System.in.read();//接受用户键盘输入的字符
    在这一行代码之前,必须对其进行初始化,否则不得对该变量进行操作。