Java 从具有N个随机数的数组中创建10个数字的行

Java 从具有N个随机数的数组中创建10个数字的行,java,arrays,random,Java,Arrays,Random,我试图从一个数组中创建10个随机数的行,数组中有N个随机数,这些随机数按递增顺序排序。我已经成功地创建了一个包含N个随机数的数组,并且对它们进行了排序,但是我不知道如何将它们打印成10个数字的行。任何帮助都将不胜感激 这是我的N个随机数代码: public class Mergesort { private static double[] merge(double[] a, double[] b) { double[] c = new double[a.length +

我试图从一个数组中创建10个随机数的行,数组中有N个随机数,这些随机数按递增顺序排序。我已经成功地创建了一个包含N个随机数的数组,并且对它们进行了排序,但是我不知道如何将它们打印成10个数字的行。任何帮助都将不胜感激

这是我的N个随机数代码:

public class Mergesort {

    private static double[] merge(double[] a, double[] b) {
        double[] c = new double[a.length + b.length];
        int i = 0, j = 0;
        for (int k = 0; k < c.length; k++) {
            if      (i >= a.length) c[k] = b[j++];
            else if (j >= b.length) c[k] = a[i++];
            else if (a[i] <= b[j])  c[k] = a[i++];
            else                    c[k] = b[j++];
        }
        return c;
    }

    public static double[] mergesort(double[] input) {
        int N = input.length;
        if (N <= 1) return input;
        double[] a = new double[N/2];
        double[] b = new double[N - N/2];
        for (int i = 0; i < a.length; i++)
            a[i] = input[i];
        for (int i = 0; i < b.length; i++)
            b[i] = input[i + N/2];
        return merge(mergesort(a), mergesort(b));
    }


   /***************************************************************************
    *  Check if array is sorted - useful for debugging.
    ***************************************************************************/
    private static boolean isSorted(double[] a) {
        for (int i = 1; i < a.length; i++)
            if (a[i] < a[i-1]) return false;
        return true;
    }



    // generate N real numbers between 0 and 1, and mergesort them
    public static void main(String[] args) {
        int N = Integer.parseInt(args[0]);
        double[] a = new double[N];
        for (int i = 0; i < N; i++)
            a[i] = (int)(Math.random() * 100 + 1);
        a = mergesort(a);
        for (int i = 0; i < N; i++)
            StdOut.println(a[i]);

        StdOut.println(isSorted(a));
    }
}
公共类合并排序{
私有静态双[]合并(双[]a,双[]b){
double[]c=新的双精度[a.长度+b.长度];
int i=0,j=0;
for(int k=0;k=a.length)c[k]=b[j++];
如果(j>=b.length)c[k]=a[i++];
else如果(a[i]只是一个循环:

for (int i = 0; i<array.length;i++){ 
    System.out.print(array[i]);
    if (i%10 == 9) { // if i modulo 10 is 9 add an linebreak
       System.out.println();
    }
}
对于(int i=0;i使用
System.out.print()
而不是
System.out.println()


System.out.println()
将自动在行尾添加“\n”,而
System.out.print()
不会。

@AtalAtmar已经更改了我的答案。请回顾一下我还有最后一个问题。我的输出只包含整数。如何删除每个数字后面的.0?@AtalAtmar你能告诉我结果和预期结果吗?例如,如果我为N输入10,结果如下所示:7.0 11.0 13.0 36.0 49.0 51.0 55.0 57.0 94.0。它是应该是这样的:7 11 13 36 49 51 55 57 94。@AtalAtmar这是因为您有一个double as数据类型。您可以将其转换为int,小数部分将消失:
System.out.print((int)array[i]+”);