Ajuda com Notação Polonesa Reversa

Tenha uma pequena duvida aqui…
estou fazendo um programa onde ele le de um arquivo texto…
por exemplo ele pega uma expressão [i]8 9 - 2 3 * +[/i]
eu uso split para quebrar essa linha…
mas me vem a duvida… o que usar pala saber quando vem um numero ou quando ira vir uma variavel!!!
porque poderá aparecer variaveis… [i]y 8 9 * 6 - 2 / = [/i]
onde ou eu terei que inicializa-la ou usa-la

while(line != null){
	double n;
	System.out.println(line);
	String a[] = line.split(" ");
	

for(int i = 0; i <a.length; i++){
Vector<String> var = new Vector<String>();
						String line = out.readLine(); 
						
						while(line != null){
							double n;
							System.out.println(line);
							String a[] = line.split(" ");
							double valor;
							for(int i = 0; i <a.length; i++){
								//System.out.println(a[i]);
																
								 if(a[i] == "*"){
									 for(int t = 0; t<var.size(); t++){
										 if(a[i].equalsIgnoreCase(var[t])){
											 
										 }
										 
									 }
									 double v2 = Double.parseDouble(auxS.pop());
									 double v1 = Double.parseDouble(auxS.pop());
									 valor = v1 * v2;
									 auxS.push(Double.toString(valor));
								 }

Ok ja estou evoluindo nesse eskemas :lol: mas ainda estou precisando de ajuda. :x …
o meu problema é quando for aparecer uma variavel… seja la qual for…
y x w… eu tenho q varer a miha lista a procura dela certo… se achar e so usar seu valor não seu como usar a Vector…
:frowning:

Vc pode ir pelo contrário.

O que não é número, nem é ‘+’, ‘-’, ‘*’, ‘/’ é variável.

Hehehe Defina que uma variável vai estar dividida por espaços em branco, e manda ver… :wink: