Erro desesperante (Java)

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

Erro desesperante (Java)

Mensagempor 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 :)
Imagem
Tens dúvidas? Não sabes o que fazer? Calma... consulta as FAQS! :P
Sld
Aprendiz
Aprendiz
 
Mensagens: 57
Registado: Domingo Dez 21, 2003 14:09

Mensagempor 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
Membro de Prata
 
Mensagens: 280
Registado: Quarta Out 22, 2003 22:38
Localização: Coimbra

Mensagempor 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 :x

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 :)
Imagem
Tens dúvidas? Não sabes o que fazer? Calma... consulta as FAQS! :P
Sld
Aprendiz
Aprendiz
 
Mensagens: 57
Registado: Domingo Dez 21, 2003 14:09

Mensagempor 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.
Avatar do Utilizador
SuperMegaMau
Membro de Prata
Membro de Prata
 
Mensagens: 187
Registado: Domingo Ago 29, 2004 15:23

Mensagempor 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 :)
Imagem
Tens dúvidas? Não sabes o que fazer? Calma... consulta as FAQS! :P
Sld
Aprendiz
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

cron