Arrays bidimensionais... help?

2 respostas
H

bom galera estou fazendo um app simples pra imprimir os valores de uma array, e tá dando pau na execução... alguém ajuda?

/*
 * InitArray3.java
 * Fig 7.17
 * Created on 15 de Maio de 2006, 23:27
 * Inicializando arrays bidimensionais
 */

package InitArray3;

public class InitArray3 {
    
    public static void main(String[] args) {
        int array1 [][] = { {1, 2, 3} , {4, 5, 6} };
        int array2 [][] = { {1, 3} , {3} , {4, 5, 6} };
        
        System.out.println("Valores de array1 por linha são:");
        
        outputArray ( array1 ); // exibe array 1 por linha
        
        System.out.println("Valores de array2 por linha são:");
        
        outputArray ( array2 );
    } // fim de main
    
    public static void outputArray(int array[][]) {
        
        // faz um loop pelas linhas do array
        for (int linha = 0; linha < array.length; linha++) {
            // faz um loop pelas colunas da linha atual
            for (int coluna = 0; linha < array[linha].length; coluna++)
                System.out.printf("%d   ", array[linha][coluna]);
        } // fim do for
    } // fim do método
}

EXECUÇÃO:
-------------------------------------
run-single:
Valores de array1 por linha são:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at InitArray3.InitArray3.outputArray(InitArray3.java:31)
at InitArray3.InitArray3.main(InitArray3.java:18)
1 2 3
Java Result: 1
BUILD SUCCESSFUL (total time: 4 seconds)
----------------------------------

valeu desde já...
-------------------------------------

2 Respostas

L

No segundo for:
for (int coluna = 0; coluna < array[linha].length; coluna++)

S

bom eu vi o codigo dele e ainda estou com duvidas sobre array

estou tentando fazer um programinha pra entender mas ta dando pau
como faz pra jogar os valores e depois mastrar na tela arrays bidimencionais olha o meu fonte

class Baralho{

private int  nc;
private int  [] cartas;	//array das cartas
private int  fim;
private int  comeco;
private int  i; //variavel contadora
private char [][]nipes;


public Baralho(int nc){
//nc numero de cartass passadas pela a interface
	char a,b;
	
   cartas = new  int[nc];
   nipes =  new char[a][b];

	
	}

//gerando as cartas de nosso baralho.
public void gerar(){

comeco = 0;
	fim  = 13;
 	
	while (i<nc)	
		{
			
			for ( i=comeco; i<fim; i ++)
			{
				cartas[i] = i+1;
//					nipes[i][1] = a;

}

comeco +=13;

fim +=13;

}

}
public void mostra(){

	int valor;
	
	for( i=0; i< 13; i ++){

// cartas[i] = 1 + (int) (Math.random() * 13 );
System.out.println("pos " + i + " ehhhh " + cartas[i] + " e nipe " + nipes[i][i]);

}
	
}

}

se alguem souber apontar o erro ficarei muito grato pois isso esta consumindo meus neuronios

Criado 16 de maio de 2006
Ultima resposta 17 de mai. de 2006
Respostas 2
Participantes 3