能具体点吗?关键是int型的位数不固定哦

解决方案 »

  1.   

    int testInt =1234;
    char[] inner=new char[4];
    int num2=testInt;
    int flag = 1000;
    for(int i=0;i<4;i++){
    int num = num2/flag;
    num2 = testInt % flag; 
    inner[i] = String.valueOf(num).charAt(0);
    flag = flag/10;
    System.out.println(inner[i]);
    }
      

  2.   

    楼上的,要是testInt =12呢?
    或者testInt =123456呢?怎么处理啊?
      

  3.   

    testInt =12是可以的,你可以运行一下看看testInt =123456
    还有这个条件?
    要是testInt =123456你要什么结果?
      

  4.   

    输出:
    1
    4
    5
    6程序:
      int testInt =123456;
         char[] inner=new char[4];
         int num2=testInt;
         int flag = 1000;
         for(int i=0;i<4;i++){
         int num = num2/flag;
         num2 = testInt % flag; 
         inner[i] = String.valueOf(num).charAt(0);
         flag = flag/10;
         System.out.println(inner[i]);
         }    }
      

  5.   

    做一个判断就可以了 testInt/4 余数为0的话 就不用在前边加0
    要是不为零 看余几就加几个零
      

  6.   

    public class Test
    {
        static int i=1234;    static char[] inner=new char[4];    public static void fillChar(char[] inner, int i)
        {
            String temp = "" + i;
            int arrayLength = inner.length;
            int stringLength = temp.length();
            
            if (stringLength > arrayLength)
                return;
            if (stringLength < arrayLength)
            {
                for (int j=stringLength; j<arrayLength; j++)
                    temp = "0" + temp;
            }
            System.arraycopy(temp.toCharArray(),0,inner,0,arrayLength);   
        }
            public static void main(String[] args)
        {
           fillChar(inner,i);
           for (int i=0; i<inner.length; i++)
           {
               System.out.println(inner[i]);
           }
        }
    }
      

  7.   

    int testInt =123456;
    String tempStr =String.valueOf(testInt);
    if(tempStr.length()>4){
    testInt = Integer.parseInt(tempStr.substring(tempStr.length()-4,tempStr.length()));
    }
    char[] inner=new char[4];
    int num2=testInt;
    int flag = 1000;
    for(int i=0;i<4;i++){
    int num = num2/flag;
    num2 = testInt % flag; 
    inner[i] = String.valueOf(num).charAt(0);
    flag = flag/10;
    System.out.println(inner[i]);
    }那就这样试试
      

  8.   

    public class Test
    {
        static int i=12345678;    static char[] inner=new char[4];    public static void fillChar(char[] inner, int i)
        {
            String temp = "" + i;
            int arrayLength = inner.length;
            int stringLength = temp.length();
            
            if (stringLength > arrayLength)
                return;
            if (stringLength < arrayLength)
            {
                for (int j=stringLength; j<arrayLength; j++)
                    temp = "0" + temp;
            }
            System.arraycopy(temp.toCharArray(),0,inner,0,arrayLength);   
        }
            public static void main(String[] args)
        {
           fillChar(inner,i);
           for (int i=0; i<inner.length; i++)
           {
               System.out.println(inner[i]);
           }
        }
    }输出一大堆乱码.怎么回事?