Автозаполнение 2D массива - PullRequest
       11

Автозаполнение 2D массива

0 голосов
/ 20 сентября 2019

Мне нужна помощь в заполнении 2D-массива с использованием вложенного цикла for.Желаемый результат: ...

20,0 19,0 18,0 17,0 16,0 15,0 14,0 13,0 12,0 11,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0,0 18,0 19,0 20,0

19,0 18,0 17,0 16,0 15,0 14,0 13,0 12,0 11,010,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0,0 18,0 19,0

18,0 17,0 16,0 15,0 14,0 13,0 12,0 11,0 10,0 9,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0 18,0

17,0 16,0 15,0 14,0 13,012,0 11,0 10,0 9,0 8,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0 16,0

16,0 15,0 14,0 13,0 12,0 11,0 10,0 9,0 8,0 7,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0

15,014,0 13,0 12,0 11,0 10,0 9,0 8,0 7,0 6,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0

14,0 13,0 12,0 11,0 10,0 9,0 8,0 7,0 6,0 5,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0

13,0 12,0 11,0 10,0 9,0 8,0 7,0 6,0 5,0 4,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0

12,0 11,0 10,0 9,0 8,0 7,0 6,0 5,0 4,0 3,0 3,0 4,0 5,0 6,0 7,0 8,09,0 10,0 11,0 12,0

11,0 10,0 9,0 8,0 7,0 6,0 5,0 4,0 3,0 1,0 1,0 2,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0

10,0 9,0 8,0 7,0 6,0 5,0 4,0 3,0 1,0 0,0 1,0 1,0 2,03.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0

11.0 10.0 9.0 8.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0

12.0 11.0 10.0 9.0 8.0 7.0 6.0 5.0 4.03,0 2,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0

13,0 12,0 11,0 10,0 9,0 8,0 7,0 6,0 5,0 4,0 3,0 4,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0

14,0 13,0 12,0 11,0 10,09,0 8,0 7,0 6,0 5,0 4,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0

15,0 14,0 13,0 12,0 11,0 10,0 9,0 8,0 7,0 6,0 5,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0

16,015,0 14,0 13,0 12,0 11,0 10,0 9,0 8,0 7,0 6,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0

17,0 16,0 15,0 14,0 13,0 12,0 11,0 10,0 9,0 8,0 7,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0,0 1037 *

18,0 17,0 16,0 15,0 14,0 13,012,0 11,0 10,0 9,0 8,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0 18,0

19,0 18,0 17,0 1,0 16,0 15,0 14,0 13,0 12,0 11,0 10,0 9,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0,0 18,0 19,0

20,0 19,018,0 17,0 16,0 15,0 14,0 13,0 12,0 11,0 10,0 11,0 12,0 13,0 14,0 15,0 16,0 17,0 18,0 19,0 20,0

Это мой код для заполнения массива ...

int row;
        int column;
        int counter=10;
        int counter1=10;
for( row =0; row<array.length; row++) {
            array[row][0] = obj.getZ(10,counter);
            counter--;
            for( column =0; column<array[row].length; column++) {
                array[row][column] = obj.getZ(counter1,10);
                counter1 --;

Я уже объявил массивбыть 20 на 20, а obj.getZ просто вызывает этот метод ...

public double getZ(double x, double y) {

        double z=(Math.abs(x)+Math.abs(y));
        return z;

Массив - это значение z, которое формируется из абсолютных значений x и y.

1 Ответ

1 голос
/ 20 сентября 2019

Не лучшее решение, но оно должно решить проблему

    import java.util.Arrays;

    class Scratch {
        public static void main(String[] args) {

            int[][] arr = new int[21][21];
            int row = 20;
            int column = 0;

            for (int i = 0; i < 21; i ++) {

                column = row;

                for (int j = 0; j < 21; j++) {
                    arr[i][j] = column;

                    if (j < 10) {
                        column = column - 1;
                    } else {
                        column = column + 1;
                    }
                }

                if (i < 10) {
                    row = row - 1;
                } else {
                    row = row + 1;
                }
            }

            for (int[] arrRow : arr) {
                System.out.println(Arrays.toString(arrRow));
            }
        }
    }

И результат:

$ java Scratch
[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
[17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
[16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
[12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
[11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
[12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
[13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
[14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
[18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
[19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

UPD: исправлен пример и добавлен результат

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