• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Java - usunięcie ostatniego znaku ze String - przycisk wstecz (backspace)

Object Storage Arubacloud
0 głosów
2,856 wizyt
pytanie zadane 23 lipca 2016 w Java przez Janek19 Początkujący (290 p.)
zamknięte 23 lipca 2016 przez Janek19
Witam,

Robię kalkulator w Javie i chcę dodać przycisk wstecz, który będzie usuwał ostatni znak ze zmiennej String. Mógłby on działać jak klawisz backspace.

Zaimportowane klasy jakich używam to:
javax.swing.*
java.awt.*
java.awt.event.ActionEvent
java.awt.event.ActionListener

Czy może w tych klasach jest funkcja która by to zrobiła? Jeśli nie to jak to zrobić?

Z góry dziękuję za pomoc
komentarz zamknięcia: Znalazłem odpowiedź

2 odpowiedzi

+4 głosów
odpowiedź 23 lipca 2016 przez Porcupine Nałogowiec (31,560 p.)
wybrane 23 lipca 2016 przez Janek19
 
Najlepsza
Metoda substring() jest faktycznie dość prostym rozwiązaniem, jednak jej wadą jest, że od wyjścia Javy 7 złożoność czasowa substring'a to O(n), ponieważ po każdym usunięciu znaku, tak na prawdę nie obcina go, tylko tworzy sobie nowego stringa, który nie ma tego jednego znaku i podmienia referencje. Żeby to troszkę zoptymalizować mógłbyś zaproponować własną implementację potrzebnej struktury - na przykład tablicę char[], z dodatkową zmienną int index, która by się inkrementowała / dekrementowała w zależności czy wpisujesz, czy usuwasz dany znak. Takie rozwiązanie działałoby w czasie stałym.

Pozdrawiam,
2
komentarz 23 lipca 2016 przez Kornelia Kobiela Nałogowiec (33,340 p.)
Dzięki za zwrócenie uwagi. Kolejny dzień, w którym dowiedziałam się czegoś nowego.
+3 głosów
odpowiedź 23 lipca 2016 przez Kornelia Kobiela Nałogowiec (33,340 p.)

Wiesz, klasa String udostępnia metodę substring(), która jest przeciążona. 

https://docs.oracle.com/javase/8/docs/api/java/lang/String.html Tutaj masz dokumentację na temat klasy String. Poczytaj i wyciągnij wnioski :)

Pozdrawiam

Podobne pytania

0 głosów
1 odpowiedź 310 wizyt
pytanie zadane 6 marca 2018 w PHP przez krzysztofz Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 1,648 wizyt
0 głosów
1 odpowiedź 643 wizyt
pytanie zadane 17 października 2015 w C i C++ przez baszmest Gaduła (3,080 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...