W programie muszę umożliwić uzytkownikowi wprowadzanie nazw związków, które później są w bazie zapisywane i odczytywane. Baza UTF-8 i powinno to tam zostać zapisane już normalnie z indeksami górnymi/dolnymi, bo tak później będę wyświetlał. Wymyśliłem, by użytkownicy w textboxa(GUI Vaadin) wpisywali coś podobnego do Latexa np.: P4_{3}Pma^{22}, gdzie 3 to indeks górny a 22 to dolny. Taką konwencję chcę umożliwić tylko do wpisywania, później wyświetlane ma to być już normalnie czytelnie.
0
0
A jakie jest pytanie?
0
Jak wykonać takie przeparsowanie jak opsiałem.
0
Ale co ma dokładnie wyjść jak uzytkownik wpisze np. to: P4_{3}Pma^{22}
0
Mogłaby to być metoda np.:
public static String parseFormula(String a){
...
}
Dokładne wyniki np.:
wejście: P4_{3}Pma^{22}
wyjście: P4₃Pma²²
wejście: T{1}B_{10}Ku{327}
wyjście: T¹B₁₀Ku₃₂₇
itp.:
znalazłem znaki dostępne, których chciałbym używać. Dobrze się w bazie zapisują i odczytują bez problemów z kodowaniem. (używam UTF-8)
⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉
0
Coś się popsuło z drugim przykładem, może teraz będzie ok:
wejście: P4_{3}Pma^{22}
wyjście: P4₃Pma²²
wejście: T^{1}B_{10}Ku^{327}
wyjście: T¹B₁₀Ku₃₂₇
0
A co ma wyjść, gdy użytkownik popełni błąd, i w indeksach wpisze coś innego niż cyfry P4_{3a}ma^{22}
0
Wtedy mamy błąd parsowania i metoda wystarczy, że zwróci np. nulla w takim przypadku.