如何在 Java 中编写不使用 reverse() 方法的字符串反转程序?

java 8object oriented programmingprogramming更新于 2025/9/20 7:40:17

您可以使用多种方法反转字符串,而无需使用 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:
Tutorialspoint
tniopslairotuT

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

反转给定字符串

  • 将其转换为数组。
  • 反转数组元素。
  • 使用结果数组创建另一个字符串。

示例

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:
Tutorialspoint
tniopslairotuT

相关文章