Olá Amigos,
estou com um problema que nao sei como resolver.
Preciso fazer um trabalho em java em que tenho que ler um arquivo e ir obedecendo os comandos do mesmo. No arquivo tem comandos para criar variáveis e tudo mais. Tem também comandos para somar, subtrair e por aí vai.
Uma das minhas dúvidas é:
Como usar um método que sabe diferenciar palavras de numeros?
Eu preciso de um metodo que leia alguma coisa e me diga se é palavra ou numero, pois se for palavra eu empilho em uma pilha e se for numero eu farei em outra. Já estou usando o metodo TT_WORD e TT_NUMBER mas nao estou conseguindo faze-lo funcionar. No meu codigo, eu pedi para que se for palavra ele me informe e que faça o mesmo para numero, mas o problema é que ele entende tudo como palavra.
Será que voces podem me ajudar?
Posto meu código logo abaixo:
[code]File file = new File(“teste1.txt”);
try {
//inicializa o StreamTokenizer
FileReader reader = new FileReader(file);
BufferedReader bReader = new BufferedReader(reader);
StreamTokenizer st = new StreamTokenizer(bReader);
//configura o StreamTokenizer
st.resetSyntax();
st.whitespaceChars(0,' ');
st.wordChars(' '+1,255);
//manda o StreamTokenizer ler a primeira palavra do arquivo
// manda o StreamTokenizer ler a primeira palavra do arquivo
int aux=st.nextToken();
//pega a linha atual do arquivo
st.lineno();
while(st.ttype!=StreamTokenizer.TT_EOF)
{
switch (st.nextToken())
{
case StreamTokenizer.TT_WORD:
System.out.println("E palavra");
break;
case StreamTokenizer.TT_NUMBER:
System.out.println("E numero");
break;
}
}
.
.
.
.
.
[/code]
Já tentei colocar numero para ver o que acontece mas ele classifica tudo como palavra mesmo.
Aguardo retorno!
Muito obrigado