Estou tentando fazer um programa de analise lexica, porem sem umsar o jflex.
Crio uma operação em String, separo as caracteres em charArray e depois passo para um vetor string. Preciso comparar se o valor da string não vai ser um token e sim um numero, entao enquanto ele não for um token ele vai transformar a palavra em um numero int, porém o comparativo da erro ao copilar
package lexicalanalyzer;
import java.io.File;
import java.nio.file.Paths;
import java.util.Scanner;
public class AnaliseLexica {
Scanner scan = new Scanner(System.in);
public static void main(String[] args) {
int receb, op1 = 0, op2 = 0, op3 = 0, analise=0, i=0;
char[] letras = null; //criei o array para separar operação
String operacao="2*2+3"; //operação em texto
letras = operacao.toCharArray(); //separei a operação em um array
int tamanho = letras.length; //tamanho recebe quantidades de caracteres da palavra
String[] palavra = new String[tamanho]; //vetor do tamanho das palavras da operação
int[] numeros = new int[tamanho]; //vetor para receber numero
while(i !=tamanho){ //while para passar as variaveis para array
palavra[i] = "" + letras[i];
i++;
}
int j=0;
while( j != tamanho){
while((! palavra[i].equals("*")) || (! palavra[i].equals("+")) || (! palavra[i].equals("-")) || (! palavra[i].equals("/"))){
numeros[i] = Integer.parseInt(palavra[i]);
System.out.println(numeros[i]);
i++;
}
if(! palavra[i].equals("*")){
System.out.println("token multiplicação");
}
if(! palavra[i].equals("+")){
System.out.println("token adição");
}
if(! palavra[i].equals("-")){
System.out.println("token subtração");
}
if(! palavra[i].equals("/")){
System.out.println("token divisão");
}
j++;
}
}
}