class  InitialValues
{
char c;
void f(){
System.out.println("[" + c + "]");
}
public static void main(String[] args) 
{
InitialValues a = new InitialValues();
a.f();
}
}
-----------------
简单吧,但为什么没有输出[ ],而是仅输出一个[ 

解决方案 »

  1.   


    class  InitialValues
    {
    char c=‘a’;//x修改后的
    void f(){
    System.out.println("[" + c + "]");
    }
    public static void main(String[] args) 
    {
    InitialValues a = new InitialValues();
    a.f();
    }
      

  2.   

    不是吧,可以打印啊,char默认是'\u0000',但是也能打印出来啊
    C:\Documents and Settings\Administrator\桌面>javac InitialValues.javaC:\Documents and Settings\Administrator\桌面>java InitialValues
    [ ]
      

  3.   

    当然没有,我测试的就是初始化。成员变量c自动初始化为0,所以我是想打印出[ ]的,但不成功,
    还发现,只要执行到这里,以后再在main中用System.out.println()方法向控制台输出任何东西都不行了.
      

  4.   

    不是只打印[
    是复制的时候复制这个出来
    打印出来的是["char的默认值"]
      

  5.   

    程序应该是这样的
    public class Test4{
    public static void main(String[] args) {
    InitialValues a = new InitialValues();
    a.f();
    }
    }class InitialValues {
    char c; void f() {
    System.out.println("[" + c + "]");
    }
    }
      

  6.   

    void f(){ 
    System.out.println("[" +c+ "]");//我的eclipse可以打印,是个小方框,就是不能显示的字符('\u0000')。
      System.out.println("[" +(int)c + "]"); //0
    }
      

  7.   

    知道了,不好意思,因为之前用editplus编辑器,直接用里面的编译和执行功能,有这个问题。
    在DOS窗口下是正常的。晕。
    友情提示: editplus的执行功能有较多缺陷,建议少用。
      

  8.   

    感叹CSDN的速度,几乎是发出来的同时,一堆答案都出来了。真令人喜欢。