Как работают 2D-массивы и deepToString? - PullRequest
0 голосов
/ 05 июня 2018
import java.util.Arrays;

public class main {

    public static void main (String[] args ) {
        int rand = (int)Math.random()*17;
        int[][] output = array(rand);
        //System.out.println(Arrays.deepToString(output));
    }


    public static int[][] array(int n)  { //btw n is y/height
        int x = (int)Math.pow(2, n-1); //# of col
        int max = (int)Math.pow(2, n) - 1;

        int [][] out = new int[n][x];

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < x; j++) {
                out[i][j] = (int) (Math.random() * (max + 1));
            }
        }
        return out;

    }
}

Я учусь кодировать, и двоюродный брат дал мне свой старый ноутбук, и тут и там я нашел несколько небольших файлов Java.Это называется «itsmagic.java», но я не совсем понимаю, для чего это делается?

Из того, что я понимаю, кажется, что мы создаем 2D-массив какого-то типа, и что тогда?Я понимаю, что deepToString предполагается использовать для преобразования многомерных массивов в строки, но как это работает?Почему это закомментировано?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Arrays.deepToString () используется для одиночных или многомерных массивов, обычно для многомерных массивов, поскольку может ясно выводить каждый массив.

Вы сможете выводить как первый, так и второй массив«вывод» в вашем примере.

Если вы запустите тест и добавите массив вручную, вы увидите, что он печатает оба массива вместе, а не показывает только первое измерение.

0 голосов
/ 05 июня 2018

Что я понял из вашего кода:

-Выберите случайное целое число n от 0 до 17.

-регулирующий топор = 2 ^ (n-1)

-установка max = 2 ^ n

-Создание размеров вкладки двойной записи n * x

-Заполнение каждого случая случайным числом от 0 до max

Таким образом, результатом является вкладка двойной записи измерений [от 0 до 17] [2 ^ (от 0 до 16)], заполненная числами от 0 до 2 ^ (от 0 до 17)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...