English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

编写程序以在不使用Java中使用reverse()方法的情况下反转字符串?

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.

Esempio

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.

Esempio

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