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


你可以用几种方法反转字符串,而不使用 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){
      //Converting to character array
      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

更新日期: 02-Aug-2019

4K+ 浏览量

开启您的 职业

通过完成课程获得认证

开始学习
广告