Below is the syntax highlighted version of Transpose.java
from §1.4 Arrays.
/****************************************************************************** * Compilation: javac Transpose.java * Execution: java Transpose n * * Transpose an n-by-n matrix in-place, without creating a second * 2D array. * * Submitted by Christian Rubio. * ******************************************************************************/ publicclassTranspose{ publicstaticvoidmain(String[] args){ // create n-by-n matrix int n = Integer.parseInt(args[0]); int[][] a =newint[n][n]; for(int i =0; i < n; i++){ for(int j =0; j < n; j++){ a[i][j]= n*i + j; } } // print out initial matrix System.out.println("Before"); System.out.println("------"); for(int i =0; i < n; i++){ for(int j =0; j < n; j++){ System.out.printf("%4d", a[i][j]); } System.out.println(); } // transpose in-place for(int i =0; i < n; i++){ for(int j = i+1; j < n; j++){ int temp = a[i][j]; a[i][j]= a[j][i]; a[j][i]= temp; } } // print out transposed matrix System.out.println(); System.out.println("After"); System.out.println("------"); for(int i =0; i < n; i++){ for(int j =0; j < n; j++){ System.out.printf("%4d", a[i][j]); } System.out.println(); } } }