Não encontrei diferença entre as matrizes, mas eles dão resultados diferentes

2 respostas
java
G

Estou começando a desenvolver programas em Java e me deparei com uma matriz a ser feita, eis o algoritmo:

public static void main (String []args){
    int a[][] = new int [3][3];
    a [0][0] = 1; 
    a [0][1] = 23;
    a [0][2] = 45;
    
    a [1][0] = 17;
    a [1][1] = 78;
    a [1][2] = 90;
    
    a [2][0] = 231;
    a [2][1] = 281;
    a [2][2] = 450;
    
    for (int l = 0; l < a.length; l++){          
        for (int c = 0; c < a.length; c++){         
            System.out.println(a[l][c] + "\t");          
        }
        System.out.println();                     
    }
    }
}

Quando executo o programa os números não ficam organizados em tabelas. Porém outra matriz que fiz com o seguinte algoritmo:

public static void main(String []args){
   int n [][] = new int [4][4];
   n [0][0]= Integer.parseInt(JOptionPane.showInputDialog("Este programa irá exibir uma tabela 4x4 com 16 números. "
           + "\nPara isso você deve digitar um número para cada célula da tabela sempre que lhe for solicitado(a)."
           + "\nPara começar, digite o primeiro número"));
   n [0][1]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [0][2]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [0][3]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   
   n [1][0]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [1][1]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [1][2]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [1][3]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   
   n [2][0]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [2][1]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [2][2]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [2][3]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   
   n [3][0]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [3][1]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [3][2]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   n [3][3]= Integer.parseInt(JOptionPane.showInputDialog("Digite o número"));
   for(int l = 0; l < n.length; l++){
       for(int c = 0; c < n.length; c++){
           System.out.print(n[l][c] + "\t");
     
   }
    System.out.println();
}
    
 }
}

fica com os números separados em tabela. Tentei encontrar diferenças mas já fiz de tudo e não sei por que o primeiro não fica separado em tabelas. Alguém me ajuda.

2 Respostas

lvbarbosa

No print dentro dos dois loops, ao invés de System.out.println, use System.out.print.

G

Valeu cara!!!

Criado 18 de fevereiro de 2017
Ultima resposta 18 de fev. de 2017
Respostas 2
Participantes 2