如何编写程序使用 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP