如何在 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

