Как я могу сделать этот пример матрицы с зубчатым массивом в java - PullRequest
0 голосов
/ 21 июня 2020

Есть эти коды:

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

        int m[][] = new int[5][5]; 

        int count = 1;  
        for (int i=0; i<m.length; i++) 
            for(int j=0; j<i+1; j++) 
                m[i][j] = count++; 
       

        for (int i=0; i<m.length; i++)
        {
            for (int j=0; j<m[i].length; j++)
                System.out.print(m[i][j] + "  "); 
            System.out.println();
        }
    }
}

И вывод:

current output

How can I do as in the screenshot below?

я нуждаюсь

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Вы можете заполнить матрицу, как это предложено в ответе saka1029 выше, а затем распечатать ее, используя форматированный вывод:

    for (int i = 0; i < m.length; i++) {
        for (int j = 0; j < m[i].length; j++) {
            System.out.printf(" %2d ", m[i][j]);
        }
        System.out.print('\n');
    }

Или можно оставить «нормальную» матрицу и измените только его вывод:

public static void main(String []args){
    int m[][] = new int[5][5]; 

    int count = 1;
    // keeping initial array as is
    for (int i=0; i<m.length; i++) 
        for(int j=0; j<i+1; j++) 
            m[i][j] = count++; 
           
    for (int i = 0; i < m.length; i++) {
        StringBuilder sb = new StringBuilder();
        for (int j = 0; j < m[i].length; j++) {
            if (m[i][j] > 0) {
                sb.append(String.format(" %2d ", m[i][j]));
            } else {
                sb.insert(0, String.format(" %2d ", m[i][j]));
            }
        }
        System.out.println(sb.toString());
    }
}

Вывод в обоих случаях идентичен:

  0   0   0   0   1 
  0   0   0   2   3 
  0   0   4   5   6 
  0   7   8   9  10 
 11  12  13  14  15 
0 голосов
/ 21 июня 2020
int size = 5;
int[][] m = new int[size][size];
int count = 1;
for (int i = 0; i < size; ++i)
    for (int j = size - i - 1; j < size; ++j)
        m[i][j] = count++;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...