Olá pessoal, gostaria que vcs me ajudassem com um método revert, que reverte uma matriz de inteiros, ou seja, o primeirp número vai pra última posição, segunda pra penultima e assim por diante…
fiz esse método, mas ele não funciona com matrizes com linhas e colunas ímpares, por exemplo matriz[5][5]…
public static void revert(int matriz[][]) {
int num;
int tamanho = matriz.length;
for (int i = 0; i < tamanho / 2; i++) {
for (int j = 0; j < matriz.length; j++) {
num = matriz[i][j];
matriz[i][j] = matriz[tamanho - 1 - i][tamanho - 1 - j];
matriz[tamanho - 1 - i][tamanho - 1 - j] = num;
}
}
}
publicclassLixoK{int[][]matrix=newint[9][9];/** * @param args the command line arguments */publicstaticvoidmain(String[]args){newLixoK();}publicLixoK(){for(intx=0;x<9;x++){for(inty=0;y<9;y++){matrix[x][y]=x*10+y;}}printMatrix();revert(matrix);printMatrix();}publicvoidprintMatrix(){for(intx=0;x<9;x++){System.out.println("");for(inty=0;y<9;y++){System.out.print(matrix[x][y]+"-");}}System.out.println("");System.out.println("");}publicstaticvoidrevert(intmatriz[][]){intnum;inttamanho=matriz.length;for(inti=0;i<tamanho/2;i++){for(intj=0;j<matriz.length;j++){num=matriz[i][j];matriz[i][j]=matriz[tamanho-1-i][tamanho-1-j];matriz[tamanho-1-i][tamanho-1-j]=num;}}}}
G
gachiele03
tenho, na verdade esse método não modifica apenas a linha do meio, por exemplo: