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?
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]