8  Napisy

  1. Napisz statyczną metodę, która przyjmuje napis jako argument i zwraca ten napis w odwrotnej kolejności. Stwórz przypadek testowy.

  2. Napisz statyczną metodę, która sprawdza, czy dany napis jest palindromem. Palindrom to słowo, fraza, liczba lub inny ciąg znaków, który czyta się tak samo od przodu, jak i od tyłu. Stwórz przypadek testowy.

  3. Napisz statyczną metodę, która usuwa wszystkie spacje z danego napisu. Stwórz przypadek testowy.

  4. Napisz statyczną metodę, która przyjmuje napis jako argument i zwraca ten napis z zamienioną pierwszą i ostatnią literą. Stwórz przypadek testowy.

  5. Napisz program, który analizuje dany napis pod kątem częstotliwości występowania każdego ze znaków. Program powinien wyświetlić znak i liczbę jego wystąpień w danym napisie. Dane pobierz ze standardowego wejścia.

  6. Napisz program, który przyjmuje napis jako wejście i wypisuje wszystkie znaki znajdujące się na parzystych indeksach napisu, używając metody charAt.

  7. Używając metody charAt, napisz statyczną metodę, która sprawdza, czy dany napis zaczyna się i kończy tym samym znakiem. Stwórz przypadek testowy.

  8. Napisz program, który przyjmuje trzy napisy: główny napis, prefiks i sufiks. Używając metod startsWith oraz endsWith, sprawdź czy główny napis zaczyna się od podanego prefiksu i kończy podanym sufiksem. Wypisz odpowiedni komunikat dla każdego z tych przypadków.

  9. Napisz program, który przyjmuje jako wejście pojedynczy znak oraz liczbę całkowitą n. Używając klasy StringBuilder, zbuduj i wypisz piramidę o wysokości n, gdzie każdy poziom piramidy składa się z podanego znaku. Na przykład dla znaku * i n=3, oczekiwany wynik to:

 *
***
*****
  1. Dany jest napis. Używając StringBuilder, napisz program, który usuwa wszystkie powtarzające się znaki, pozostawiając tylko pierwsze wystąpienie każdego znaku. Na przykład dla napisu “bananowy”, oczekiwany wynik to “banowy”.

  2. Napisz program, który przyjmuje zdanie jako wejście. Używając StringBuilder, odwróć każde słowo w zdaniu, ale zachowaj kolejność słów. Na przykład dla zdania “Java jest fajna”, oczekiwany wynik to “avaJ tsej anjaf”.

  3. Napisz metodę statyczną reverseString, która przyjmuje jako argument obiekt typu StringBuilder i zwraca nowy StringBuilder, będący odwróconym napisem pierwotnym. Stwórz przypadek testowy.

  4. Napisz metodę statyczną removeDuplicates, która przyjmuje StringBuilder i usuwa wszystkie powtarzające się znaki w napisie, pozostawiając tylko pierwsze wystąpienie danego znaku. Stwórz przypadek testowy.

  5. Napisz metodę statyczną mostFrequentChar, która przyjmuje StringBuilder jako argument i zwraca znak, który występuje najczęściej w napisie. W przypadku remisów, zwróć pierwszy znak z remisowych. Stwórz przypadek testowy.

  6. Napisz metodę statyczną insertSubstring, która przyjmuje dwa argumenty: StringBuilder sb oraz String toInsert. Metoda ma wstawiać toInsert w środek pierwotnego StringBuilder. Stwórz przypadek testowy.

  7. Napisz metodę statyczną splitByEvenOdd, która przyjmuje StringBuilder jako argument. Metoda powinna zwracać tablicę dwóch elementów typu StringBuilder. Pierwszy element tablicy ma zawierać znaki z nieparzystych indeksów pierwotnego napisu, a drugi z parzystych. Stwórz przypadek testowy.

  8. Napisz metodę statyczną capitalizeEverySecond, która przyjmuje jako argument obiekt typu StringBuffer. Metoda ma zmienić każdą drugą literę na wielką. Stwórz przypadek testowy.

  9. Napisz metodę statyczną replaceSubstring, która przyjmuje dwa argumenty: StringBuffer sb i String oldSub, oraz String newSub. Metoda ma zamienić wszystkie wystąpienia podciągu oldSub na newSub. Stwórz przypadek testowy.

  10. Napisz metodę statyczną countOccurrences, która przyjmuje dwa argumenty: StringBuffer sb oraz char c. Metoda powinna zwracać liczbę wystąpień znaku c w napisie. Stwórz przypadek testowy.

  11. Napisz metodę statyczną trimToSize, która przyjmuje StringBuffer sb i liczbę całkowitą n. Metoda ma zmniejszyć długość napisu do n znaków (jeśli pierwotny napis jest dłuższy). Jeśli napis jest krótszy lub równy n, nie powinien ulec zmianie. Stwórz przypadek testowy.

  12. Napisz metodę statyczną isPalindrome, która przyjmuje StringBuffer jako argument. Metoda powinna sprawdzić, czy napis jest palindromem (odczytywany tak samo od przodu jak i od tyłu) i zwrócić odpowiednią wartość logiczną. Stwórz przypadek testowy.