编写程序以在不使用Java中使用reverse()方法的情况下反转字符串?
您可以通过多种方式反转String,而无需使用该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: Nhooo tniopslairotuT
转换为字节/字符数组:您可以分别使用getBytes()ortoCharArray()方法获得字节或字符数组。
反转给定的字符串
将其转换为数组。
反转数组的元素。
使用结果数组创建另一个String。
示例
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: Nhooo tniopslairotuT