比如1234 能够的出每位数分别是int类型 1,2 ,3 ,4;
请不要使用toString方法,输出结果不要char类型;
不管数组还是容器形式输出都行。麻烦各位大侠了!
还有在下的编程经验太少,各位有什么好办法,或者好题目,以便我快速提高编程水平!

解决方案 »

  1.   

    也不知道你要的是不是这样
    String str = "1234";
    int strLength = str.length();
    int[] a = new int[strLength];
    for(int i=0;i<strLength;i++){
    a[i]=Integer.parseInt(str.substring(i, i+1));
    }
    System.out.println(a[0]);
      

  2.   


    int value = 1234;
    String sValue = Integer.toString(value);
    int size = sValue.length();
    int[] result = new int[size];
    for (int i = 0; i < size; i++)
    result[i] = sValue.codePointAt(i) - '0';

    System.out.println(Arrays.toString(result));
      

  3.   


    前面是int n = 1234;
    不是 String类型。
      

  4.   

    在前面剪掉'0'倒是不错的想法,不过,不知道有没有更好的办法,就是不用转换为char类型再转换回来的方法。谢谢了。
      

  5.   

    那就这样吧int value = 1234;
    List<Integer> result = new LinkedList<Integer>();
    while(value != 0) {
    result.add(0, value%10);
    value = value / 10;
    }
    System.out.println(result);
      

  6.   

    楼主就不知道变通下吗
    int num = 1234;
    String str = String.valueOf(num);
    int strLength = str.length();
    int[] a = new int[strLength];
    for(int i=0;i<strLength;i++){
    a[i]=Integer.parseInt(str.substring(i, i+1));
    }
    System.out.println(a[0]);
      

  7.   

    用这么麻烦吗~直接对对这个数处理啊,分别获取每个位置上的数,然后再比较大小。比如:int num=5849;
    int q=num/1000;//千位数
    int b=num/100%10;//百位数
    int s=num/10%10;//十位数
    int g=num%10;//个位数然后再比较大小。
      

  8.   

    是这样吗
    public class test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i=1234;
    int[] a=new int[4];
    a[0]=i/1000;
    a[1]=(i%1000)/100;
    a[2]=(i%100)/10;
    a[3]=i%10;
    for(int n=0;n<4;n++)
    {
    System.out.print(a[n]+"\t");
    }
    }}
      

  9.   

    int num = 12345;
    int temp = 0;
    while(num != 0){
    temp = num % 10;
    num /= 10;
    java.lang.System.out.println(temp);
    }倒着输出可以么