public class Test
{
     public static void main(String[] args)
{
      String st2 = "1828356512";
      char[] ch2 = st2.toCharArray();
      int[] b = new int[ch2.length];
      for(int i = 0; i < ch2.length; i++)
      {
       b[i] = ch2[i];
      }
      for(int i = 0; i < b.length; i++)
      {
       System.out.print(b[i] + " ");
      }
}
}
输出:49 56 50 56 51 53 54 53 49 50  (真的没有想到会是这样的结果!!!)

解决方案 »

  1.   

    1828356512
    这个字符串拆分成字符后每个字符对应的ascii码的值就是这样的。
    楼主可以搜一下ascii码表对照一下。
      

  2.   

    b[i] = ch2[i];char转型成int 
    int并不存取字符串,便将字符串对应ascii
      

  3.   


    你给每个结果 减去 '0'就是public class Test
    {
         public static void main(String[] args)
    {
          String st2 = "1828356512";
          char[] ch2 = st2.toCharArray();
          int[] b = new int[ch2.length];
          for(int i = 0; i < ch2.length; i++)
          {
           b[i] = ch2[i];
          }
          for(int i = 0; i < b.length; i++)
          {
           System.out.print((b[i]-'0') + " ");
          }
    }
    }
      

  4.   


          for(int i = 0; i < ch2.length; i++)
          {
           b[i] = ch2[i]-'0';//减去'0'就ok!
          }
      

  5.   

    上面的方法可以实现你的要求,但是问题是ASCII值得问题,ASCII码的0是NULL,ASCII码的48才是数值0,所以输出减0与不减0的值是相差一个48 ,
    你的代码的输出是 49 56 50 56 51 53 54 53 49 50 
    你想要的输出是   1  8  2  8  3  5  6  5  1  2
    正好相差48;
    public class Test14
    {

         public static void main(String[] args)
    {
          String st2 = "zhaoming";
          char[] ch2 = st2.toCharArray();
          int[] b = new int[ch2.length];
          for(int i = 0; i < ch2.length; i++)
          {
           b[i] = ch2[i];
          }
          for(int i = 0; i < b.length; i++)
          {
           System.out.print(b[i]-'0' + " ");
          }
    }}    这样输出的值也是数字,
    toCharArray
    public char[] toCharArray()将此字符串转换为一个新的字符数组。 返回:
    一个新分配的字符数组,它的长度是此字符串的长度,它的内容被初始化为包含此字符串表示的字符序列。
      

  6.   

    想要这个结果,不能这么遍历:
     char[] ch2 = st2.toCharArray();
    而应该这么遍历:
    for(int i=0;i<str2.length();i++){
    System.out.println(str2.substring(i,i+1);
    }