Někdy je v programování potřeba nakreslit řádek v opačném pořadí. Například při práci s palindromy nebo při úkolech souvisejících s analýzou textu. Programovací jazyk Java nabízí několik způsobů, jak tento problém vyřešit.
Jedním z nejjednodušších způsobů je použití třídy StringBuilder. V Javě tato třída umožňuje manipulaci s řádky a má také metodu reverse(), která převrací řetězec. Chcete-li zobrazit řádek v opačném pořadí, musíte vytvořit objekt třídy StringBuilder, předat mu zdrojový řádek jako parametr a poté vyvolat metodu reverse(). Například:
String str = "Привет, мир!";StringBuilder reversedStr = new StringBuilder(str).reverse();System.out.println(reversedStr.toString());
Pokud chcete v jazyce Java vygenerovat řádek v opačném pořadí, můžete použít následující kód:
public class ReverseString = 0; i--) System.out.println(reversedStr.toString());>>
Metoda StringBuilder.reverse()
Příklad použití metody:
StringBuilder str = new StringBuilder("Привет, мир!");str.reverse();System.out.println(str.toString());
Výsledek provádění tohoto kódu bude:
!рим ,тевирП
Tedy metoda StringBuilder.reverse () umožňuje rychlé a pohodlné stažení řádku v opačném pořadí.
Rekurzivní funkce
| Krok | Kód | Popis |
|---|---|---|
| 1 | public static String reverseString(String str) | Oznámení a definice rekurzivní funkce s názvem "reverseString", která přijímá řetězec" str " jako argument a vrací řádek. |
| 2 | if (str.isEmpty()) | Kontrola prázdného řádku. Pokud je řádek prázdný, rekurze končí a prázdný řádek se vrací. |
| 3 | return reverseString(str.substring(1)) + str.charAt(0); | Rekurzivní volání funkce s podřazením řádku od indexu 1 do konce a konkatenací s prvním symbolem řádku. Tímto způsobem bude řetězec rozdělen na podstavec bez prvního znaku a na konec výsledku bude přidán první symbol. |
| 4 | > | Dokončení definice funkce. |
| Kód | Popis |
|---|---|
| String str = " Ahoj, světe!"; | Definice a inicializace řetězce. |
| String reversed = reverseString(str); | Vyvolání rekurzivní funkce " reverseString "s argumentem" str "a uložení výsledku do proměnné"reversed". |
| System.out.println(reversed); |
V důsledku provedení tohoto kódu bude odvozen řádek "Řím, tevirp".
Použití převodu řádku na pole znaků
Chcete-li zobrazit řádek v opačném pořadí v jazyce Java, můžete použít metodu tokarray() , která umožňuje převést řetězec na pole znaků.
String str = "Привет, мир!";char[] charArray = str.toCharArray();for (int i = charArray.length - 1; i >= 0; i--)