//2.2.使用随机函数产生一个比较大的整数,从低位到高位找出所有位的数值填写在一个数组中,然后输出
    //a=位数
    public static void hw22(int a)
    {
        int i,j,m,n,b=1;
        for(j=1;j<=a;j++)
        {
            b*=10;
        }
        i=(int)(Math.random()*b);
            for(n=1;n<=a;n++)
            {           
                m=(i/n)%10;
                n*=10;
                System.out.print(m+"  ");
            }
    }
这个小程序有什么问题呀,运行的时候总是不对。

解决方案 »

  1.   

    public class Demo1 { public static void hw22(int a)
        {
            int i,j,m,n,b=1;
            for(j=1;j<=a;j++)
            {
                b*=10;
            }
            System.out.println(b);
            i=(int)(Math.random()*b);
            System.out.println(i);
            StringBuilder builder = new StringBuilder();
            for(n=1;n<=a;n++)
                {           
                    m=i%10;
                    i=i/10;
                    builder.append(m+" ");
                }
            System.out.println(builder.reverse().toString().trim());
        }
    public static void main(String[] args) {
    hw22(8);
    }
    }你试下
      

  2.   

    m=i%10;
    i/=10;
      

  3.   

    public static void hw22(int a)
        {
            int i,j,m,n,b=1;
            for(j=1;j<=a;j++)
            {
                b*=10;
            }
            i=(int)(Math.random()*b);
            System.out.println(i);
                for(n=1;n<=a;n++)
                {           
                    m=i%10;
                    i=i/10;
                    System.out.print(m+"  ");
                }
        }  看这样对不