@EEElice

Почему массив в java заполняется непонятно как?

Есть маленький код, создающий массив 4х4 и заполняющий его цифрами от нуля до 15.
static void show(int[][] m){
        for (int i=0;i<m.length;i++){
            for (int j=0;j<m.length;j++){
                m[i][j]=(int)(10*Math.random());
                System.out.print(m[i][j] + " "); }
            System.out.println();}
    }

static void shit(){
        int n = 4, q = 0;
        int[][] a = new int[n][n];
        for (int i=0;i<n;i++){
            for (int j=0;j<n;j++){
                a[i][j] = q;
                q++;
            }
        }
        show(a);


Проблема в том, что мне выводится непонятно что, например:
/*
5 9 0 8 
6 6 1 7 
9 5 5 7 
8 3 7 1 
Или вот это, запустил только что
4 3 2 0 
0 2 5 2 
1 9 4 2 
3 7 0 4
Что должно выводиться по идее:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
*/
  • Вопрос задан
  • 104 просмотра
Решения вопроса 2
Zoominger
@Zoominger
System Integrator
m[i][j]=(int)(10*Math.random());
This.
Не совсем понятно, с чего бы ему заполняться числами от 0 до 15, если массив заполняется рандомно.
Замените эту строчку на переменную, которая после каждой итерации увеличивается на единицу.
Ответ написан
Комментировать
samodum
@samodum
Какой вопрос - такой и ответ
Всё правильно выводит. Вот же присвоение случайных чисел:
m[i][j]=(int)(10*Math.random());
                System.out.print(m[i][j] + " "); }

Нужно убрать первую строку
m[i][j]=(int)(10*Math.random());
И тогда всё заработает
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@EEElice Автор вопроса
Я случайно забыл убрать оттуда тот кусок кода с рандомом *facepalm*
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы