Создайте n массивов - PullRequest
       10

Создайте n массивов

1 голос
/ 24 февраля 2011

Хотелось бы узнать, как, по возможности, создать n массивов одинакового размера. Помощь будет принята с благодарностью. Например: я хочу создать 10 массивов с одинаковым количеством элементов без необходимости создавать их один за другим: int[] a = new int[]. Надеюсь, теперь это стало понятнее.

Один из моих вопросов в одном из комментариев был + - «Как отсортировать строку массива для строки / столбца для столбца». Я понял это - может быть, кто-то может найти это полезным.

int[] sortarr = new int[5]; //create array to transfer data from row to new array

for (int i=0; i<N; i++){
    for (int j=0; j<5; j++){
    sortarr[j] = hands[i][j]; //transfer the data from 2D array's row to sortarr
    }
    Arrays.sort(sortarr); //sort the row's data

    for (int x=0; x<5; x++){ 
    hands[i][x] = sortarr[x]; //transfer the data back to 2D array
    }

}

Может быть, это довольно очевидно, но я надеюсь, что это поможет кому-то там.

Ответы [ 4 ]

5 голосов
/ 24 февраля 2011

Вам необходимо создать двумерный массив.

int n;
int size;
int[][] arr = new int[size][n];

Вы можете заполнить массив вложенным циклом for;

for(int i =0;i < arr.length; i++) {
    for(int j = 0; i < arr[i].length; j++) {
        arr[i][j] = someValue;
    }
}

Или вы можете заполнить массивы так:

int[][] arr2 = new int[n][];
for(int i = 0; i < n; i++){
    arr2[i] = new int[size];
}

Вы можете думать о 2D-массиве как о массиве массивов, например:

private Card[][] allPlayerHands;
public Card[] getHand(int playerNumber) {
    return allPlayerHands[playerNumber];
}

Вот хороший вопрос о переполнении стека для двумерных массивов:

Инициализация многомерного массива в Java

3 голосов
/ 24 февраля 2011

2D массив является ответом.Позвольте мне попытаться объяснить,

, что вам нужно разыграть колоду 5 разным людям, то есть int [5].

Теперь посмотрим, что у каждого из 5 человек есть 5 карт, то есть

* 1006.*

то есть

people[1]: 1,2,3,4,5
people[2]: 1,2,3,4,5
people[3]: 1,2,3,4,5
people[4]: 1,2,3,4,5
people[5]: 1,2,3,4,5

то есть

people[5][5]

Теперь, если у вас есть доступ к карте 3 человека 1, тогда это будет

people[0][2] // u know its zero based aray
0 голосов
/ 24 февраля 2011

int [] i = {1,2,3,4,5}

int [] j = i.clone ()

Вы получите один размер с содержимым

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