StreamTokenizer - obsługa String?

0

Witam. Mam do napisania kalkulator, który najpierw zamienia postać infiksową na postfiksową. Potrzebuję więc jakiegoś obiektu czytającego działanie i przetwarzającego je element po elemencie. Głównie zależy mi na tym, żeby w prosty sposób można było sprawdzić czy bierzący element jest liczbą. Stwierdziłem, że najlepiej się do tego nada StreamTokenizer. Problem w tym, że chcę przetwarzać gotowe działanie w formie String, a nie na bieżąco odczytywać z klawiatury. Jak najlepiej rozwiązać ten problem? Przetworzyć jakoś string na strumień, czy w jakiś inny sposób zmusić StreamTokenizer do obsługi stringa? Czy może lepiej da się to zrobić bez używania StreamTokenizer (tylko jak wtedy wykryć, że dany odczytany element jest liczbą?)

0

Rozumiem ze dzialanie bedzie zawierac tylko liczby i operatory arytmetyczne? Wiec tworzysz zmienna np. Wynik (double) i zmienna Liczba (String) (ktora reprezentuej aktualna liczbe jako string). Wtedy lecisz znak po znaku i przy kazdym znaku sprawdzasz czy:

  • jesli jest to liczba to do zmiennej Liczba dolaczasz obecna liczbe.
  • jesli jest to znak to w zaleznosci od znaku do zmiennej wynik dodajesz obecna liczbe lub ja odejmujesz, mnozysz, dzielisz. Nastepnie czyscisz zmienna liczbe i tak idzie do konca dzialania
0

Właśnie, ale jak sprawdzić czy to liczba, czy znak?

1 użytkowników online, w tym zalogowanych: 0, gości: 1