English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Puoi invertire una stringa in molti modi senza utilizzare questareverse()
funzione.
Usare il ricorso -Il ricorso è il processo di ripetizione di elementi in modo simile a se stessi. In un linguaggio di programmazione, se il programma ti permette di chiamare una funzione all'interno della stessa funzione, si chiama chiamata ricorsiva della funzione. Puoi usare la funzione ricorsiva per invertire una stringa, come mostrato nel seguente programma.
import java.util.Scanner; public class StringReverse { public static String reverseString(String str){ if(str.isEmpty()){ return str; } else { return reverseString(str.substring(1))+str.charAt(0); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Inserisci un valore di Stringa: "); String str = sc.next(); String result = StringReverse.reverseString(str); System.out.println(result); } }
Risultato di output
Inserisci un valore di Stringa: w3codebox tniopslairotuT
Convertire in array di byte/character: Puoi usarli rispettivamentegetBytes()
otoCharArray()
Il metodo ottiene un array di byte o di caratteri.
Inverti la stringa fornita
Trascinalo in un array.
Inverti gli elementi dell'array.
Crea un'altra String utilizzando l'array dei risultati.
import java.util.Scanner; public class StringReverse { public static String reverseString(String str){ //Convertire in array di caratteri char ch[] = str.toCharArray(); int n = ch.length; char result[] = new char[n]; for(int i = 0; i<ch.length; i++) { result[n-1] = ch[i]; n = n - 1; } return new String(result); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Inserisci un valore di Stringa: "); String str = sc.next(); String result = StringReverse.reverseString(str); System.out.println(result); } }
Risultato di output
Inserisci un valore di Stringa: w3codebox tniopslairotuT