Lista de discussão de MAC 212


[Prévia por Data][Próxima por Data]
[Prévia por Assunto][Próxima por Assunto]
[Índice por Data][Índice por Assunto]
[Envie uma nova mensagem para a lista] [Responda esta mensagem]

Re: Uso da classe de leitura



On Sun, 22 Apr 2001, Rogerio Fajardo wrote:
> Coloquei a classe para leitura que o monitor da disciplina fez
> no mesmo arquivo que as minhas classes do EP, mas na hora de compilar, ele
> da erro onde eu chamei o método "leInt()". Ele diz que não encontrou esse
> método na classe Jogador (onde eu chamei). Como eu faço para ele enxergar a
> classe de leitura?
> 
> Rogério
> _________________________________________________________________________
> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.br

 Vamos lá.

Rogério, não sei exatamente o que você fez, fica difícil pra mim dizer o
que está acontecendo sem dar uma olhada no seu código-fonte. Mas tenho um
palpite do que pode ter acontecido.

Acho que no código da classe 'Jogador` você tentou algo do tipo

	int x = leInt();

Ao compilar a linha acima, o javac percebe que você está acessando um
método; Como a classe dona deste método não foi determinada através do
operador '.` (ponto), javac assume que o método leInt() foi definido na
classe corrente (i.e., 'Jogador`). E como não existe nenhum método 
leInt() na classe Jogador o javac avisa que tal método não foi
encontrado.

Como resolver o pepino? Fácil: tente algo como

	int x = LeituraJogoDeTrilha.leInt();                     (1)

Todos os métodos públicos da classe de leitura são estáticos, de modo que
você só precisa utilizá-los como indicado acima, sem a necessidade de
instanciar um objeto LeituraJogoDeTrilha com o operador 'new`:

	LeituraJogoDeTrilha leitura = new LeituraJogoDeTrilha(); (2)
	int x = leitura.leInt();

Tanto o fragmento de código (1) como o (2) devem resolver seu problema,
embora (1), neste caso específico, seja bem mais simples, como você pode
notar. Se os métodos não fossem estáticos, a única solução seria (2).

Então, ficam aí duas sugestôes para você tentar. Se isso não resolver o
problema (ou se houverem outros) apareça no plantão de monitoria para
tirar dúvidas.

	E bom trabalho!

Mickail M. Lopes <mlopes@linux.ime.usp.br>