prompt user to enter every row of a N*N array

48 Views Asked by At

I have a 2D array N*N , where N is from user input, and I want to prompt user to enter every row separately. I don’t know how to do it because N is not constant.

This is the code:

System.out.println("Enter number of nodes\n");
    int V = scan.nextInt();

    System.out.println("\nEnter matrix\n");
    int[][] graph = new int[V][V];
    for (int i = 0; i < V; i++)
        for (int j = 0; j < V; j++)
            graph[i][j] = scan.nextInt();
2

There are 2 best solutions below

3
theDima On

try

        for (int i = 0; i < V; i++) {
        System.out.println("Enter row " + (i+1) + "\n");
        for (int j = 0; j < V; j++)
            graph[i][j] = scan.nextInt();
    }
0
0x5050 On

You can use something like this:

for (int i = 0; i < array.length; i++) {
    System.out.printf("Enter %d integers for row %d/%d (delimited by spaces): ",
                      columns, i+1, rows);
    for (int j = 0; j < array[i].length; j++)
        array[i][j] = input.nextInt();
}

Output

Enter the number of rows: 4
Enter the number of columns: 3
Enter the numbers in array:
Enter 3 integers for row 1/4 (delimited by spaces): 1 2 3
Enter 3 integers for row 2/4 (delimited by spaces): 4 5 6
Enter 3 integers for row 3/4 (delimited by spaces): 7 8 9
Enter 3 integers for row 4/4 (delimited by spaces): 10 11 12