Java 字符串反转追加:命令行输入字符串,将反转后的字符串追加到原字符串末尾
Java 字符串反转追加:命令行输入字符串,将反转后的字符串追加到原字符串末尾
本程序使用 Java 语言实现了一个功能:从命令行读入一个字符串,将其反转后追加到原字符串的尾部,并输出结果。例如输入 'XYZ',则输出 'XYZZYX'。
import java.util.Scanner;
public class ReverseString {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = scanner.nextLine(); // 从命令行读入字符串
String reverseStr = reverse(str); // 反转字符串
String result = str + reverseStr; // 将反转后的字符串追加到原字符串末尾
System.out.println("反转后的字符串为:" + result); // 输出结果
}
// 反转字符串的方法
public static String reverse(String str) {
char[] chars = str.toCharArray(); // 将字符串转换为字符数组
int left = 0;
int right = chars.length - 1;
while (left < right) { // 双指针交换字符
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new String(chars); // 将字符数组转换为字符串并返回
}
}
代码详解
-
从命令行读入字符串:
- 使用
Scanner类从System.in读取用户输入的字符串。
- 使用
-
反转字符串:
- 定义
reverse方法,使用双指针交换字符的方式来实现字符串反转。 - 将字符串转换为字符数组
char[] chars = str.toCharArray(); - 使用两个指针
left和right分别指向数组的首尾位置。 - 使用
while循环,当left小于right时,不断交换两个指针指向的字符,并移动指针,直到两个指针相遇。 - 最后,将字符数组转换为字符串并返回。
- 定义
-
追加反转后的字符串:
- 将
reverse方法返回的反转后的字符串reverseStr追加到原字符串str的末尾,得到最终结果result。
- 将
-
输出结果:
- 将
result输出到控制台。
- 将
代码示例
输入:
XYZ
输出:
反转后的字符串为:XYZZYX
本程序代码清晰简洁,注释详细,易于理解和学习。如果您有任何问题,请随时提出。
原文地址: https://www.cveoy.top/t/topic/mKjh 著作权归作者所有。请勿转载和采集!