как автоматически заполнить двумерный массив числами
Привет я пытаюсь автоматически заполнить 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();
}
}