Sintaxe for e matrizes

[color=blue] Olá a todos:

O problema é o seguinte:

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”.

Como eu corrigo isso?

[/color]

Posta o seu código, para podermos ajduda-lo.

import java.util.Scanner;

public class Exercicio05 {

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(""); 
    }
}

}

JCreator?
Pq vc nao baixa uma IDE?
baixa o eclipse

ae cara eu dei uma olhada nesse seu codigo e estava cheio de erros de lógica, dei uma corrigida aqui vo posta o código pra vc abaixo:

import javax.swing.JOptionPane;

public class teste {

    public static void main(String[] args) {
        int[][] m1 = new int[3][3];
        int[] diagDir = new int[3]; 
        int[] diagInv = new int[3];
        int[] diagInv2 = new int[3];

        // LEITURA DOS NUMEROS
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                m1[i][j] = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite um número: "));
            }
        }

        // PASSA OS VALORES DA DIAGONAL INVERSA PARA UM VETOR AUXILIAR
        diagDir[0] = m1[0][0];
        diagDir[1] = m1[1][1];
        diagDir[2] = m1[2][2];

        // PASSA OS VALORES DA DIAGONAL DIRETA PARA UM VETOR AUXILIAR
        diagInv[0] = m1[0][2];
        diagInv[1] = m1[1][1];
        diagInv[2] = m1[2][0];
        
        // DUPLICA A DIAGONAL INVERSA PARA NAO PERDER OS VALORES QDO FOREM SER TROCADOS
        diagInv2 = diagInv;
        
        // PASSA OS VALORES DA DIAGONAL DIREITA P/ DIAGONAL INVERSA
        diagInv = diagDir;

        // PASSA OS VALORES DA DIAGONAL INVERSAP/ DIAGONAL DIREITA
        diagDir = diagInv2;

        //FORMA A NOVA MATRIZ
        m1[0][0] = diagDir[0];
        m1[1][1] = diagDir[1];
        m1[2][2] = diagDir[2];
        m1[0][2] = diagInv[0];
        m1[2][0] = diagInv[2];
        
        // ESCREVE A NOVA MATRIZ
        String novaMatriz = "";
        for (int i = 0; i<3; i++) {
            for (int j = 0; j<3; j++) {
               novaMatriz += m1[i][j] + " ";    
            }
            novaMatriz += "\n";
        }
        System.out.println(novaMatriz);
    }
}

Vlw!!

OBS:

A MATRIZ É 3x3

NÃO SERIA [2][2], PQ EM JAVA O PRIMEIRO NUMERO É “0”?

MAS MTO OBG

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.

testa o codigo que lhe postei ali