如:
char[] arr1=new char[10];
for(int i=0;i<10;i++){
arr1[i]=(char)i;System.out.print(";"+arr1[i]+" ");
}则输出:; ; ; ; ; ; ;  ;
不是我想要的:{'0','1','2','3','4','5','6','7','8','9'}
如何能生成这样的char数组?

解决方案 »

  1.   

    char[] arr1=new char[10];
    StringBuffer sbuf= new StringBuffer();for(int i=0;i<10;i++){
    sbuf.append(i);
    arr1[i]=sbuf.charAt(i);
    System.out.print(";"+arr1[i]+" ");
    }
      

  2.   

    你那样是转成了相应ascii码对应的字符了,而不是数字。
      

  3.   


    char[] arr1=new char[10];
    int zero = (int)'0';
    for(int i=0;i<10;i++){
    arr1[i]=(char)(i+zero); System.out.print(";"+arr1[i]+" ");是静安寺不是道明寺,是源程序不是言承旭;是在静安寺写源程序,不是在流星花园看F4。
      

  4.   


    char[] arr1 = new char[10];
    int zero = (int) '0';//加一句
    for (int i = 0; i < 10; i++) {
    arr1[i] = (char) (i + zero);//改一句
    System.out.print(";" + arr1[i] + " ");
    }输出:
    ;0 ;1 ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9 是静安寺不是道明寺,是源程序不是言承旭;是在静安寺写源程序,不是在流星花园看F4。
      

  5.   

    再来个写法(foreach需要JDK1.5支持)
    int value = (int) '0';
    for (char c : new char[10]) {
    c = (char) value++;
    System.out.println(c);
    }
    是静安寺不是道明寺,是源程序不是言承旭;是在静安寺写源程序,不是在流星花园看F4。
      

  6.   

    char本身就是unicode,不能表示其他类型,0到9表示手段的当然是ascii