Arrays bidimensionais

1 resposta
V

Bom Tarde pessoal …
Estou com o problema par afetuar um trabalho escolar no qual nao consigo de forma alguma fazer… irei postar abaixo mais ou menos como deve ser feito.

Preencher 6 matrizes(cartelas de bingo) 4/8 com numeros aleatorios de 1 a 63 onde o usuario visualisa uma a uma em seguida o usuario indica em qual
cartelas aparecem o numero pensado por ele (podendo repetir o numero)

E que no final do codigo mostre o nomero pensado pelo usuario.

Conseguir declarar o arrays com os valores ( mais na hora de aparecer usando JOptionPane os valores ficam de forma atrapalhando)

import javax.swing.JOptionPane;

public class t {
public static void main(String[] args) {

int[][] cartela1 = { { 16,24,48,56}, {17,25,49,57},{18,26,50,58},
    		             {19,27,51,59}, {20,28,52,60},{21,29,53,61},
    	                 {22,30,54,62}, {23,31,55,63} };
   
    int[][] cartela2 = { { 8,24,40,56},{ 9,25,41,57},{10,26,42,58},
    		             {11,27,43,59}, {12,28,44,60},{13,29,45,61},
                         {14,30,46,62},{15,31,47,63} };
    
    int [][] cartela3 = { {4,20,36,52},{5,21,37,53},{6,22,38,54},
    		              {7,23,39,55}, {12,28,44,60},{13,29,45,61},
    		              {14,30,46,62},{15,31,47,63}};
    
    int [][] cartela4 ={ {32,40,48,56},{33,41,49,57},{34,42,50,58},
    		             {35,43,51,59},{36,44,52,60},{37,45,53,61},
                         {38,46,54,62},{39,47,55,63}};
    
    int [][] cartela5 = { {2,18,34,50},{3,19,35,51},{6,22,38,54},
                          {7,23,39,55},{10,26,42,58},{11,27,43,59},
                          {14,30,46,62},{15,31,47,63} };
    
    int [][] cartela6 = { {1,17,33,49},{3,19,35,51},{5,21,37,53},
                          {7,23,39,55},{9,25,41,57},{11,27,43,59},
                          {13,29,45,61},{15,31,47,63} };
    		             
    
     
    JOptionPane.showMessageDialog(null, "Valores no cartela1 passados na linha são");
    JOptionPane.showMessageDialog( null, cartela1); //exibe o array 2 por linha
     
    JOptionPane.showMessageDialog(null,"Valores no  cartela2 passados na linha são");
    outputArray( cartela2); //exibe o array 2 por linha
    
    JOptionPane.showMessageDialog(null,"Valores no cartela3 passados na linha são");
    JOptionPane.showMessageDialog( null, cartela3 ); //exibe o array 2 por linha
    
    JOptionPane.showMessageDialog(null,"Valores no cartela4 passados na linha são");
    outputArray( cartela4 ); //exibe o array 2 por linha
    
    JOptionPane.showMessageDialog(null, "Valores no cartela5 passados na linha são");
    outputArray( cartela5 ); //exibe o array 2 por linha
    
    JOptionPane.showMessageDialog(null,"Valores no cartela6 passados na linha são");
    outputArray( cartela6 ); //exibe o array 2 por linha
    }
//FAZ UM LOOP PELAS LINHAS DO ARRAY
public static void outputArray(int[][] array)
{
    //FAZ UM LOOP PELAS COLUNAS DA LINHA ATUAL
    for(int linha = 0; linha < array.length; linha++)
    {
        //FAZ LOOP PELAS COLUNAS DA LINHA ATUAL
        for( int coluna = 0; coluna < array[linha].length; coluna++)
        	System.out.printf("%d ", array[linha][coluna]);
         System.out.println();
    }
}

}

ALguem puder me ajudar fico grato

1 Resposta

ViniGodoy

Não é assim que imprime arrays:

JOptionPane.showMessageDialog( null, cartela1); //exibe o array 2 por linha

Se fossem arrays unidimensionais, você teria que usar o Arrays.toString.

Como são bidimensionais, você deve percorrer o array, gerar a saída elemento por elemento, e só então mandar imprimir o resultado.

Outra coisa, ao postar tópicos, não marque o título com informações óbvias como [Ajuda] ou [Dúvida] e use a tag code para deixar o código formatado, como explicado aqui:

Criado 16 de abril de 2013
Ultima resposta 16 de abr. de 2013
Respostas 1
Participantes 2