For aprimorado - duvidas

1 resposta
joaosavio
package javaapplication1;

/**
 *
 * @author joaosavio
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int[] x = {5,6,9,8};
        int[][] y = {{1,2,3},{4,5},{6,7,8}};
         
        for (int i : x) {
            System.out.println(x[i]);            
        }
        
        for(int i[]: y) {
            for(int j: i) {
                System.out.println(); //????????????
                
            }
        }            
        
    }
}

Pq quando vou imprimir o x[i] ta dando
“Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 5”

E o que coloco dentro do segundo loop para conseguir imprimir a matriz?

Abraços

1 Resposta

A

nao cara… vc nao imprime o x[i]

for (int i : x) quer dizer que vc ta declarando um int chamado i e a cada iteracao ele vai recebe a proxima posicao do vetor

entao no teu System.out.println vc faz assim

for (int i : x) {  
     System.out.println(i);              
}

ta dando excecao pois seu primeiro i vale 5… e vc ta tentando acessar o indice 5 dele aih entendeu?

para matrizes a mesma coisa, vc imprime só a variavel j

Criado 30 de agosto de 2008
Ultima resposta 30 de ago. de 2008
Respostas 1
Participantes 2