【问题标题】:How to sort an array into columns如何将数组排序为列
【发布时间】:2018-07-05 03:17:54
【问题描述】:

我需要帮助在 java 中组织一个数组。下面的代码以直线打印出随机数。但是,我希望代码打印出其中四个数字,然后继续换行。重要的是,我希望代码在第一行打印出四个随机数,然后在第二行打印出另外 4 个随机数,依此类推。

import java.util.Arrays;
import java.util.Random;

public class SelectionSort{ 

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] array = new int[200];

        Random rand = new Random();

        // for acsending order
        for (int i = 0; i < array.length; i++) 



        array[i] = rand.nextInt(1000000) + 1;
        Arrays.sort(array);
        System.out.println(Arrays.toString(array));
        System.out.print("\n");


        // for descending order

        for (int i = array.length - 1; i >= 0; i--)
            System.out.print(array[i] + ", ");
    }

}

【问题讨论】:

  • 您希望将什么分成 4 行:升序输出、降序输出或两者兼有?
  • StringBuilderStringJoiner 和/或 String.format 将是我的建议
  • 请在 for 循环体周围使用花括号,特别是如果您像这样格式化代码。
  • 两位,@TedHopp,感谢您的帮助!

标签: java arrays sorting multiple-columns


【解决方案1】:

您需要为每 4 个数字打印\n

import java.util.Arrays;
import java.util.Random;

public class SelectionSort { 

    public static void main(String[] args) {
        int[] array = new int[200];

        Random rand = new Random();

        // for acsending order
        for (int i = 0; i < array.length; i++) {

            array[i] = rand.nextInt(1000000) + 1;
        }

        Arrays.sort(array);
        System.out.println(Arrays.toString(array));
        System.out.print("\n");


        // for descending order

        for (int i = array.length - 1; i >= 0; i--) {
            System.out.print(array[i] + ", ");
            if (i % 4 == 0) { 
                // print \n for each 4 numbers.
                System.out.println("\n");
            }
        } 
    }
}

【讨论】:

  • 谢谢!但是,如果我还希望升序输出也包含在四列中怎么办。再次感谢您的帮助!
  • @Sebastian - 使用相同的技术:带有您测试的索引的显式循环。你不能用Arrays.toString(array)做你想做的事。
猜你喜欢
  • 2022-01-12
  • 2011-03-26
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多