Demonstrar as colunas do array[Resolvido]

Boa tarde Srs.,

Fiz um exercício (Escreva uma instrução for aninhada que insere os valores para os elementos de t a partir do usuário) mas não estou sabendo dividir a tabela para que tenha 03 linhas e 04 colunas. Alguém poderia me dar uma ajuda ? O código segue abaixo.

Agradecido,

Paulo


import java.util.Scanner;

public class Bidimensional2
{
	public static void main(String[] args)
	{
		int t[][] = new int[3][4];		
				
		entradaDoArray( t );
		
		System.out.println("\nNúmeros digitados:");
		
		saidaDoArray( t );
	}
	
	public static void entradaDoArray( int t1[][] )
	{
		Scanner input = new Scanner(System.in);
				
		for( int i = 0 ; i < t1.length ; i++ )
		{			
			
			for( int j = 0 ; j < t1.length ; j++ )
			{
				System.out.println("Digite um valor: ");
				t1[i][j] = input.nextInt(); 
				
			}				
		}	
				
	}
	
	public static void saidaDoArray( int t1[][] )
	{		
		
		//faz um loop pelas linhas do array
		for( int i = 0 ; i < t1.length ; i++ )
		{			
			//faz um loop pelas colunas do array
			for( int j = 0 ; j < t1.length ; j++ )
			{				
				System.out.printf( "%d ", t1[i][j] );								
				//System.out.println();
			}
			
		}		
		
	}

}

Cara, tente o seguinte:

 for( int i = 0 ; i < t1.length ; i++ )  
        {             
              //veja a alteracao na condicao desse laco
            for( int j = 0 ; j < t1[i].length ; j++ )  
            {  
                System.out.println("Digite um valor: ");  
                t1[i][j] = input.nextInt();   
                  
            }                 
        }     

faca isso para ambos os casos.

O problema é só em mostrar na tela?

Sim, é a única dúvida.

Vini Fernandes, fiz a alteração que sugeriu mas não houve alteração.

[code]public static void saidaDoArray( int t1[][] )
{

    //faz um loop pelas linhas do array  
    for( int i = 0 ; i < t1.length ; i++ )  
    {             
        //faz um loop pelas colunas do array  
        for( int j = 0 ; j < t1.length ; j++ )  //Esse t1.lenght está errado... tenta t1[i].length
        {                 
            System.out.printf( "%d ", t1[i][j] );                                 
            //System.out.println();  
        }  
         System.out.println();//Adicione essa linha!
    }         
      
}  [/code]

Tenta isso aí… é mais fácil!!

EDIT: ao invés de t1[].length usa t1[i].length

Funcionou. Anteriormente tinha feito o “t1[i].length” mas o problema persistia. Olhando a sugestão do fernandosavio vi que meu erro foi não colocar o System.out.println() no for externo. Agradeço a ajuda de todos.

Abs,

Paulo, segue a correção:

[code]

import java.util.Scanner;

public class Bidimensional2
{
public static void main(String[] args)
{
int t[][] = new int[3][4];

	entradaDoArray( t );
	
	System.out.println("\nNúmeros digitados:");
	
	saidaDoArray( t );
}

public static void entradaDoArray( int t1[][] )
{
	Scanner input = new Scanner(System.in);
			
	for( int i = 0 ; i < t1.length ; i++ )
	{			
		
		for( int j = 0 ; j < t1[0].length ; j++ )
		{
			System.out.println("Digite um valor: ");
			t1[i][j] = input.nextInt(); 
			
		}				
	}	
			
}

public static void saidaDoArray( int t1[][] )
{		
	
	//faz um loop pelas linhas do array
	for( int i = 0 ; i < t1.length ; i++ )
	{			
		//faz um loop pelas colunas do array
		for( int j = 0 ; j < t1[0].length ; j++ )
		{				
			System.out.printf( "%d ", t1[i][j] );								
			//System.out.println();
		}
		
	}		
	
}

}
[/code][/quote]

Obrigado Vinicius.

Abs,