У меня есть 2 двумерных массива, один заполняется и один должен быть заполнен, оба одного размера (n x m). Мне нужно заполнить [некоторые случайные]% моего второго массива с теми же значениями, что и мой первый массив. Так скажемКак заполнить [x]% массива 2d со значениями другого массива
int[][] arr1 = new int[][] {{0, 1, 0, 1},
{1, 0, 1, 0},
{0, 0, 1, 1},
{1, 1, 0, 0}};
Я хочу arr2 быть заполнен на 25% значениях arr1 в том же месте, с другим пятно просто оставаясь пустым ..
int[][] arr2 = new int[4][4];
// where arr2 = something like {{0,1,0,1},
// { , , , },
// { , , , },
// { , , , }}
В конце концов, программа призовет пользователь может заполнить недостающие значения, которые я могу сделать, по какой-то причине эта часть, похоже, не хочет работать для меня. Это для школьного задания, и учитель не очень помогает при ответе на вопросы.
Вот мой код: отметить, что (имена переменных на французском языке ..)
- nbCases = общее число элементов в 2d массив
- nbARemplir = количество элементов во 2-м массиве иметь значения, присвоенные им (на основе nbCases * nbPourc где nbPourc процент 2-го массива должны быть присвоены значения)
- решетка [] [] = исходный массив
гуй = второй «массив» (это на самом деле 2d массив JButtons tha т учитель wrote..syntax добавить значение: gui.setValeur (I, J, значение))
int nbCases = grille.length * grille[0].length; int nbARemplir = (int)(nbCases * nbPourc); do{ for(int i = 0; i < grille.length; i++) { for(int j = 0; j < grille[i].length; j++) { if(rand.nextInt(2) == 1 && nbARemplir > 0) { gui.setValeur(i, j, "" + grille[i][j]); nbARemplir--; } } } } while(nbARemplir > 0);
Спасибо за вашу помощь! :)
Он сказал, что gui представляет собой 2D-массив JButtons fyi –
Ye, но это не похоже на нормальный массив из-за этой строки: 'gui.setValeur (i, j," "+ решетка решетки [i] [j ]); ' – Xerillio
это технически нормальный массив - всего 2d массив JButtons в объекте (GUI) с именем gui. –