Ajuda em Questão

13 respostas
surfzera

Pessoal to precisando de uma ajudinha para responder um questão…

Um vetor vet pode armazenar N objetos da classe D. A classe D contem um metodo denominado getNome()
quer retorna o atributo nome que guarda uma cadeia de caracteres (String). O que pode dar errado no
codigo abaixo?

for ( int i = 0 ; i < N; i++)
System . out . p r i n t l n ( "nome : " + vet [ i ] . getNome ( ) ) ;

Valeu!

13 Respostas

D

vc poderia colocar o resto do código?

surfzera

não tem resto é assim mesmo a questão :slight_smile:

adriano_si

poutz cara… você poderia pelo menos dizer o que você acha que está errado ??? Ou quer que façamos o exercício pra tí mesmo ???

Aproveita o espaço só pra tirar dúvidas… Faça seus exercícios e aprenda, senão os objetivos do mesmo (ensinar) não serão alcançados…

surfzera

se eu soubesse nao estava perguntando…

surfzera

ao meu ver nao tem nada de errado com a questão porque eu posso pegar normalmente o valor com .getNome, a questão parece incompleta por isso estou perguntando.

romarcio

O erro acontece está em vermelho: for ( int i = 0 ; i < [color=red]N[/color]; i++)

Como é um vetor, vc precisa passar o tamanho dele para executar o for, senão passar o tamanho, vai dar erro de compilação

Então, deveria ficar assim: for ( int i = 0 ; i < [color=red]N.length[/color]; i++)

surfzera

hum… saquei relamente isso tinha me passado despercebido.

Obrigado pela ajuda!

adriano_si

romarcio:
O erro acontece está em vermelho: for ( int i = 0 ; i < [color=red]N[/color]; i++)

Como é um vetor, vc precisa passar o tamanho dele para executar o for, senão passar o tamanho, vai dar erro de compilação

Então, deveria ficar assim: for ( int i = 0 ; i < [color=red]N.length[/color]; i++)

Cara… o Vetor é “vet” N é um inteiro que define o tamanho máximo… pelo menos eu lí assim, com falta de informações a mais, sua leitura tbm pode estar correta… Mas pelo comando da questão é mais fácil N ser um inteiro com o tamanho do vetor.

Perfeito Tijuana… eu tbm não achei erro nenhum… no máximo, está faltando informações…

Se alguém achou um erro posta aí…

ViniGodoy

Alguns elementos do vetor podem ser nulos. Nesse caso, não seria possível chamar getNome.

O código correto seria:

for (int i = 0 ; i < N; i++) if (vet[i] != null) System.out.println("nome : " + vet[i].getNome ()) ;

Dizer que um vetor "pode armazenar" é bem diferente de dizer que ele "está armazenando".

Estou também assumindo que o monte de espaços a mais foi problema de copy&paste, não problema da questão. Se for da questão, o println não poderia ser separado por espaços daquela forma.

romarcio

adriano_si:

Cara… o Vetor é “vet” N é um inteiro que define o tamanho máximo… pelo menos eu lí assim, com falta de informações a mais, sua leitura tbm pode estar correta… Mas pelo comando da questão é mais fácil N ser um inteiro com o tamanho do vetor.

Perfeito Tijuana… eu tbm não achei erro nenhum… no máximo, está faltando informações…

Se alguém achou um erro posta aí…

Foi mal, quando li achei que o vetor fosse o próprio N;

adriano_si

ViniGodoy:
Alguns elementos do vetor podem ser nulos. Nesse caso, não seria possível chamar getNome.

O código correto seria:

for (int i = 0 ; i < N; i++) if (vet[i] != null) System.out.println("nome : " + vet[i].getNome ()) ;

Dizer que um vetor "pode armazenar" é bem diferente de dizer que ele "está armazenando".

Estou também assumindo que o monte de espaços a mais foi problema de copy&paste, não problema da questão. Se for da questão, o println não poderia ser separado por espaços daquela forma.

PQP… eu sempre passo despercebido nesse Teste de verificar null… é impressionante, sempre tenho que refatorar um código que subo, por causa de uma verificação de if(o == null) Caracaaaaa… aí está, resposta encontrada…

surfzera

Muito obrigado a todos que ajudaram obrigado… todas as respostas são bem vindas .

adriano_si

Só edita e coloca um resolvido aí no tópico…

E cara, quando a gente pede pra vires com alguma coisa já pronta, não é por mal… é que de fato, nos ajuda saber qual o seu raciocínio sobre o Problema…

Abs []

Criado 25 de outubro de 2010
Ultima resposta 25 de out. de 2010
Respostas 13
Participantes 5