Dúvida sobre Vetor Bidimensional (Iniciante)

4 respostas
B
int vet[][] =  new int[3][3];

vet[0][0] = 10;

vet[0][1] = 20;

vet[0][2] = 30;

vet[1][0] = 40;

vet[1][1] = 50;

vet[1][2] = 60;

vet[2][0] = 70;

vet[2][1] = 80;

vet[2][2] = 90;
for(int i=0; i<= vet.length-1; i++){
   for(int j=0; j < vet[i].length; j++){        
       System.out.print(i + "|" + j + "=" + vet[i][j] + "\t");
   }  
   System.out.println("\n");
}

Boa tarde, gostaria de alguém que pudesse me explicar calmamente sobre a linha :

for(int j=0; j < vet[i].length; j++){

Não entendi muito bem pois imagine i = 0, qual será o tamanho(length) de i[0] ?
Muito obrigado e aguardo retorno.

4 Respostas

V

Length é o Tamanho do Vetor no caso 3 de vet [3] [3[

B

Sim, mas qual é o tamanho de i[0]?

Jonas_B_a_r_r_o_s
System.out.println(vet[0].length);

System.out.println(vet[1].length);

System.out.println(vet[3].length);

Você vai ver sempre tres, porque length é o tamanho já definido na declaração do vetor. Imutável durante a execução do programa. Tanto é que voce não pode querer saber o length de linha e coluna, assim> vet[0][2].length, pois o length não retorna os valores inserido no vetor, apenas o seu tamanho definido na declaração. Você não pode fazer a pergunta “Qual o length na posição X”, porque o length é um só sempre.

cviniciusm

Olá,

Percorrendo uma matriz bidimensional como array:

int ql = 3; // quantidade de linhas
int qc = 3; // quantidae de colunas
int pos; // posicao no array

int[] matriz = new int[ql*qc];

// preenche cada posicao da matriz com o valor 5
for(i=0;i<ql;i++) {
    for(j=0;j<qc;j++) {
        pos = ql*i+j;
        matrix[pos] = 5;
    }
}

// para exibir o elemento na posicao [2][3]
int x = 3; // x varia de 1 até 3
int y = 2; // y varia de 1 até 2
pos = ql*(y-1)+(x-1);
System.out.println(matriz[pos]);

Assim, você pode criar um classe para simular sua matriz com as ideias acima.

Criado 18 de junho de 2016
Ultima resposta 18 de jun. de 2016
Respostas 4
Participantes 4