Ajuda em Questão

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!

vc poderia colocar o resto do código?

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

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…

se eu soubesse nao estava perguntando…

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.

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++)

hum… saquei relamente isso tinha me passado despercebido.

Obrigado pela ajuda!

[quote=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++)

[/quote]

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í…

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.

[quote=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í…[/quote]

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

[quote=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.[/quote]

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…

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

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