import java.util.Scanner;

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

		// A 2D array is an array of arrays

		int[] row0 = { 7, 8, 9 };
		int[] row1 = { 1, 2, 3 };
		int[] row2 = { 4, 5, 6 };

		int[][] matrix = { row0, row1, row2 };

		printMatrix(matrix);

		// ask user for value, store in center of matrix

		Scanner kb = new Scanner(System.in);
		System.out.print("Enter value: "); 
		int value = kb.nextInt();
	
		matrix[1][1] = value;
		printMatrix(matrix);

		// set all elements in matrix to value
		
		for(int i = 0; i < matrix.length; i++) {
			int[] tempRow = matrix[i];
			// set elements in row
			for(int j = 0; j < tempRow.length; j++) {
				tempRow[j] = value;
			}
		}	
		printMatrix(matrix);

		// below is equivalent to nested-for loops above

		for(int i = 0; i < matrix.length; i++) {
			for(int j = 0; j < matrix[i].length; j++) {
				matrix[i][j] = value;
			}
		}
		printMatrix(matrix);
	
	}

	static void printMatrix(int[][] m) {
		for(int i = 0; i < m.length; i++) {
			int[] tempRow = m[i];

			for(int j = 0; j < tempRow.length; j++) {
				System.out.printf("%d ", tempRow[j]); 
			}
			System.out.println();
		}
		System.out.println();
	}

}
