在Java中,若要保持原始字符顺序不变,但又要反向输出字符串,可以通过一些技巧来实现。一种方法是先将字符串转换为字符数组,然后对数组进行反向操作,最后再将字符数组合并成一个新的字符串。
![](https://img.haomeiwen.com/i29319802/428632e50619ca55.png)
简单直接的方法:
使用StringBuilder的内置reverse()方法。
public String reverseString(String str) {
return new StringBuilder(str).reverse().toString();
}
以下是一个简单的示例:
```java
public class Main {
public static void main(String[] args) {
String originalStr = "Hello, world!";
char[] charArray = originalStr.toCharArray();
int n = charArray.length;
// 从两边向中间进行操作,保持原始字符顺序不变
for (int i = 0; i < n / 2; i++) {
char temp = charArray[i];
charArray[i] = charArray[n - i - 1];
charArray[n - i - 1] = temp;
}
String reversedStr = new String(charArray);
System.out.println("原始字符串: " + originalStr);
System.out.println("反向后的字符串: " + reversedStr);
}
}
```
这段代码会输出:
```
原始字符串: Hello, world!
反向后的字符串: !dlrow ,olleH
```
如你所见,原始字符顺序保持不变,但是字符串中的字符被反向输出了。
网友评论