tenho um Midlet onde estou tentando instanciar uma classe que eu mesmo criei, a classe possui muitos atributos byte e 4 Strings, e varias operações, na maioria de soma e subtração
quando tento rodar aparece o seguinte erro no netBeans:
Error verifying method Character ([B)V
Approximate bytecode offset 28: Inconsistent or missing stackmap at target
se quiserem que eu poste a classe eu posto, só que ela é meio grande!
vou ser mais especifico, agora que fucei melhor: existe alguns metodos que ao serem comentados consigo instanciar minha classe, um dos metodos que não deixam eu instanciar minha classe é:
private void upHP() {
if (level == 1) {
hp = Classes.LIFE_DICE[classification];
} else {
hp =
(byte) (hp + Classes.LIFE_DICE[classification] );
}
}
onde level, hp e classification são atributos privados da classe, todos do tipo byte
Classes é uma classe final com algumas constantes
se eu comento esse metodo a classe é instanciada na boa
Se vc está usando o WTK (Wireless Toolkit) basta vc clicar em “Build” que ele faz tudo pra vc.
Se vc está usando o javac mesmo, depois de compilar sua classe use o comando preverify que deverá ter alguns atributos que dependerá de como seu ambiente está configurado (Classpath, etc).
Vá na seção de artigos aqui do GUJ e dê uma olhada no artigo para iniciantes em J2ME. Se mesmo assim sua dúvida não for sanada, volte aki!
ops, então, eu não estava usando o WTK, dai comecei a usar e descobri que não havia erros (pelo menos em alguns metodos) agora os metodos que estão dando erros são esses:
[code] public Character(byte[] arg) {
ByteArrayInputStream bStrm = new ByteArrayInputStream(arg);
StringBuffer sbAux = new StringBuffer();
byte bAux;
só pra ser mais especifico, essa classe representa um personagem de jogo de RPG (estou fazendo um programa pra celular que calcula a ficha sozinho) então fiz esses metodos, um exporta um array de bytes pra poder salvar num recordstore e o outro constroi a partir de um array de bytes.
não sei se o metodo é o correto, usei apenas a teoria que li e minha logica
at Character.getCharacter(+32)
at PrimeiroMidlet.<init>(+67)
at java.lang.Class.runCustomCode(+0)
at com.sun.midp.midlet.MIDletState.createMIDlet(+19)
at com.sun.midp.midlet.Selector.run(+22)
Unable to create MIDlet PrimeiroMidlet
java.lang.NullPointerException
at Character.getCharacter(+32)
at PrimeiroMidlet.<init>(+67)
at java.lang.Class.runCustomCode(+0)
at com.sun.midp.midlet.MIDletState.createMIDlet(+19)
at com.sun.midp.midlet.Selector.run(+22)
[/code]
dei uma fuçada melhor
agora é quando aciono o metodo getCharacter que ele da um nullPointerException