如何编写程序使用 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
广告