Eu fiz um programa básico em java (utilizando apenas main), no qual o usúario preenche uma matriz 3x3 com números inteiros e a seguir o programa troca a diagonal primaria pela secundária. Ex:
|1| |2| |3|
|4| |5| |6|
|7| |8| |9|
No caso o “1, 5 e 9” vão para as posições de “3, 5 e 7” e vice-versa, respectivamente.
O programa usa 6 for. O primeiro deles é para inserir os dados na matriz.
QUESTÃO: quando eu compilo e coloco para rodar (no JCreator), o programa não é rodado, aparece logo a mensagem “Process completed”.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i,j;
int[][] m1 = new int[2][2];
int[] aux = new int[2]; // VETOR ONDE FICARÃO OS NUMEROS DA DIAGONAL INVERSA
int[] aux2 = new int[2]; // VETOR ONDE FICARÃO OS NUMEROS DA DIAGONAL DIRETA
// LEITURA DOS NUMEROS
for (i = 0; i > 2 ; i++){
for (j = 0; j > 2; j++){
System.out.println("Digite um numero: ");
m1[i][j] = sc.nextInt();
}
}
// PASSA OS VALORES DA DIAGONAL INVERSA PARA UM VETOR AUXILIAR
for (i = 0; i == 2; i++){
for (j = 2; j == 0; j--){
aux[i] = m1[i][j];
}
}
// PASSA OS VALORES DA DIAGONAL DIRETA PARA UM VETOR AUXILIAR
for (i = 0; i == 2; i++){
for (j = 0; j == 2; j++){
if (i == j){
aux2[i] = m1[i][j];
}
}
}
// PASSA OS VALORES DA DIAGONAL INVERSA P/ DIAGONAL DIRETA
for (i = 0; i == 2; i++){
for (j = 0; j == 2; j++){
if (i == j){
m1[i][j] = aux[i];
}
}
}
// PASSA OS VALORES DA DIAGONAL DIRETA P/ DIAGONAL INVERSA
for (i = 0; i == 2; i++){
for (j = 2; j == 0; j--){
m1[i][j] = aux2[i];
}
}
// ESCREVE A NOVA MATRIZ
for (i = 0; i == 2; i++){
for (j = 0; j == 2; j++){
System.out.println(m1[i][j]);
}
System.out.println("");
}
}
nao cara vc ta errado
sim a matriz vai da posção 0 ate a posiçao 2 isso está correto, agora qdo vc cria uma matriz por exemplo:
int[][] m1 = new int[3][3];
new int[3][3] etsa parte aqui quer dizer qtas posicoes a matriz ira ter ou seja essa matriz irá ter 3 posicoes e seus indices vao de 0 ate 2 entendeu?
quando vc define ali vc diz o tamanho da matriz, mas ai qdo vc quer acessar o indice dessa matriz ai deve se lembrar que o primeiro indice ém 0.