你好,我有这个程序,我想知道你怎么做才能改变第一行和最后一行
例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16变成:
…
// display your matrix: for(int i=0;i<row;i++){ System.out.println(""); for(int j=0;j<col;j++){ System.out.print(arr[i][j]); } } // reversing your matrix int temp = 0 ; for(int i=0;i<row/2;i++){ for(int j=0;j<col/2;j++){ temp = arr[i][j]; arr[i][j] = arr[i][col-j-1]; arr[i][col-j-1] = temp ; } } // display the reversed one for(int i=0;i<row;i++){ System.out.println(""); for(int j=0;j<col;j++){ System.out.print(arr[i][j]); } }
的 UPDATE 强>
整个事情应该是这样的:
import java.io.*; import java.util.Scanner; public class DynamicMatrix { public static void main(String args[]){ Scanner sc=new Scanner(System.in); System.out.println("Enter the number of rows and colomns:"); int row=sc.nextInt(); int col=sc.nextInt(); int arr[][]=new int[row][col]; System.out.println("Enter the numbers for the matrix:"); for(int i=0;i<row;i++) for(int j=0;j<col;j++) arr[i][j]=sc.nextInt(); // display your matrix: for(int i=0;i<row;i++){ System.out.println(""); for(int j=0;j<col;j++){ System.out.print(arr[i][j]); } } // reversing your matrix int temp = 0 ; for(int i=0;i<row/2;i++){ for(int j=0;j<col/2;j++){ temp = arr[i][j]; arr[i][j] = arr[i][col-j-1]; arr[i][col-j-1] = temp ; } } // display the reversed one for(int i=0;i<row;i++){ System.out.println(""); for(int j=0;j<col;j++){ System.out.print(arr[i][j]); } } } }
的 UPDATE 强> :
我更新了它应该正常工作的代码。我正在重做两次因为我正在迭代抛出所有 col 和所有 row 而不是迭代其中的一半。
col
row
输出:
Enter the number of rows and colomns: 2 2 Enter the numbers for the matrix: 1 2 3 4 12 341 will be replacing 2 2 21 34