как автоматически заполнить двумерный массив числами

Привет я пытаюсь автоматически заполнить 2d массив на основе пользовательского ввода. Пользователь введет 1 номер, этот номер будет устанавливать размер 2d массива. Затем я хочу распечатать номера массива. например, если пользователь вводит номер 4. массив 2d будет 4 рядами по 4 столбца и должен содержать числа от 1 до 16 и распечатываться следующим образом.

1-2-3-4
5-6-7-8
9-10-11-12
13-14-15-16

Но я изо всех сил пытаюсь придумать правильное утверждение, которое сделает это. на данный момент мой код просто распечатывает 2d массив, содержащий *.

У кого-нибудь есть идеи, как я могу распечатать числа, я действительно застрял. мой код выглядит следующим образом:

public static void main(String args[]){

    Scanner input = new Scanner(System.in);
    System.out.println("Enter room length");

    int num1 = input.nextInt();
    int num2 = num1;
    int length = num1 * num2;
    System.out.println("room "+num1+"x"+num2+"="+length);

    int[][] grid = new int[num1][num2];

    for(int row=0;row<grid.length;row++){   
        for(int col=0;col<grid[row].length;col++){
            System.out.print("*");  
        }
        System.out.println();
    }
}

Ответы на вопрос(4)

Ваш ответ на вопрос