PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.
Moderadores: Administradores, Moderadores
por Sld » Sábado Out 30, 2004 15:58
boas, vou aqui tentar re-criar parte do meu problema:
- Código: Seleccionar todos
Object x = '1';
System.out.println("x :"+x+"\n");
int y = ((Integer) x).intValue();
System.out.println("y :"+y+"\n");
será algo desse género, sendo o x um objecto retornado pelo método pop de uma stack (e tenho a certeza que o x será um valor inteiro), e eu preciso de o passar de Object para inteiro de forma a usálo em outro método mais abaixo que o aceitará como int.
a excepção que me dá é:
Exception in thread main java.lang.ClassCastException: java.lang.Character at teste.java:12 (que é a linha do cast)
já á umas boas horas que ando de volta disto, e n consigo fazer com que funcione, espero que alguém me consiga ajudar, obrigado

Tens dúvidas? Não sabes o que fazer? Calma... consulta as
FAQS!

-
Sld
- Aprendiz

-
- Mensagens: 57
- Registado: Domingo Dez 21, 2003 14:09
por pamaro » Sábado Out 30, 2004 16:14
O que tu estás a tentar fazer é converter um char ('1') num integer, daí dar esse erro (estás a fazer o cast errado). Tenta com "Object x = 1" ou "Object x = new Object(1)", em princípio um destes resolve-te o problema.
-
pamaro
- Membro de Prata

-
- Mensagens: 280
- Registado: Quarta Out 22, 2003 22:38
- Localização: Coimbra
-
por Sld » Sábado Out 30, 2004 16:22
tens razão realmente funciona e até faz sentido, mas não me resolve o problema, porque escolhi mal o exemplo
ora vamos lá ver,
- Código: Seleccionar todos
int x = ((Integer) this.stk.pop()).intValue();
eu tenho isso e o k me retorna o this.stk.pop sera um Objecto de valor inteiro (tipo: 1, 2, 3 etc) e preciso de o passar para int mas por qualquer motivo que me é alheio, continua a dar aquela excepção, sabes me dizer pk?
Obrigado pela ajuda

Tens dúvidas? Não sabes o que fazer? Calma... consulta as
FAQS!

-
Sld
- Aprendiz

-
- Mensagens: 57
- Registado: Domingo Dez 21, 2003 14:09
por SuperMegaMau » Domingo Out 31, 2004 14:52
esse código que escreveste tá correcto, desde que o que estejas a introduzir na pilha seja um Integer. Aproveita para mostrar aí o código em que adicionas elementos à pilha.
-

SuperMegaMau
- Membro de Prata

-
- Mensagens: 187
- Registado: Domingo Ago 29, 2004 15:23
por Sld » Domingo Out 31, 2004 18:21
obrigado pela ajuda pessoal, mas o problema era estar a adicionar nºs defenidos anteriormente como carateres á stack, levou algum tempo a perceber isso... mas pronto lol
mais uma vez obrigado

Tens dúvidas? Não sabes o que fazer? Calma... consulta as
FAQS!

-
Sld
- Aprendiz

-
- Mensagens: 57
- Registado: Domingo Dez 21, 2003 14:09
Voltar para Programação
Quem está ligado:
Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante