Salve.

Sto sviluppando una classe che da in pasto a NotazionePolacca.java degli interi e dei char per fare in modo di sviluppare l'espressione in notazione polacca.

Il seguente codice funziona perfettamente.
codice:
import java.io.*;

public class ProvaNotazionePolacca
{
	public static void main (String args[]) throws IOException, EmptyListException
	{
		NotazionePolacca e = new NotazionePolacca();

		e.aggiungi(10).aggiungi(45).aggiungi('+').aggiungi(20).aggiungi(17).aggiungi('-').aggiungi('*');

		e.aggiungi(10).aggiungi(45);
		e.aggiungi('+');

		System.out.println("Il valore dell'espressione e' "+e.Valore()+"\n");
	}
}
Ma se cerco di fare un programma analogo che però legga da tastiera l'espressione sembra che non venga fatto il cast da char a int.
codice:
import java.io.*;

public class ProvaNotazionePolacca
{
	public static void main (String args[]) throws IOException, EmptyListException
	{
		NotazionePolacca e = new NotazionePolacca();

		InputStreamReader input = new InputStreamReader(System.in);
		BufferedReader tastiera = new BufferedReader(input);

		System.out.print("Inserisci l'espressione: ");

		String s = tastiera.readLine();

		for (int i=0 ; i < s.length() ; i++ )
		{
			if (s.charAt(i)!=' ')
			{
				if (s.charAt(i)=='+' || s.charAt(i)=='-' || s.charAt(i)=='*' || s.charAt(i)=='/') e.aggiungi(s.charAt(i));
				else e.aggiungi( ((Integer)s.charAt(i)).intValue());
			}
		}

		System.out.println("Il valore dell'espressione e' "+e.Valore()+"\n");
	}
}
e mi da il seguente errore:
codice:
C:\...\java\Stack\ProvaNotazionePolacca.java:50: inconvertible types
found   : char
required: java.lang.Integer
					 	e.aggiungi( ((Integer)s.charAt(i)).intValue() );
Grazie per l'interessamento

P.S. si può fare qualcosa con StringTokenizer, se si come?