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

您可以通过多种方式反转String,而无需使用该reverse()函数。

使用递归 -递归是以自相似的方式重复项目的过程。在编程语言中,如果程序允许您在同一函数内调用函数,则称为函数的递归调用。您可以使用递归函数反转字符串,如以下程序所示。

示例

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("Enter a String value: ");
      String str = sc.next();
      String result = StringReverse.reverseString(str);
      System.out.println(result);
   }
}

输出结果

Enter a String value:
Nhooo
tniopslairotuT

转换为字节/字符数组:您可以分别使用getBytes()ortoCharArray()方法获得字节或字符数组。

反转给定的字符串

  • 将其转换为数组。

  • 反转数组的元素。

  • 使用结果数组创建另一个String。

示例

import java.util.Scanner;
public class StringReverse {
   public static String reverseString(String str){
      //转换为字符数组
      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("Enter a String value: ");
      String str = sc.next();
      String result = StringReverse.reverseString(str);
      System.out.println(result);
   }
}

输出结果

Enter a String value:
Nhooo
tniopslairotuT