java 字符串翻转
时间: 2023-11-12 14:54:39 浏览: 111
引用中提供了多种方法实现Java字符串翻转的方式。其中包括使用for循环和charAt方法实现反转,使用Byte数组实现反转,并使用递推和toCharArray的递归转换来实现反转。根据引用中的代码,你可以选择其中一种方法来实现字符串翻转。
以下是一种可能的实现方式:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String reversedStr = reverse(str);
System.out.println(reversedStr);
}
public static String reverse(String str) {
StringBuilder reversed = new StringBuilder();
for (int i = str.length() - 1; i >= 0; i--) {
reversed.append(str.charAt(i));
}
return reversed.toString();
}
}
```
请注意,这只是一种实现方式,你也可以选择使用其他方法。
相关问题
java字符串翻转方法
在Java中,有几种常见的方法可以用来翻转字符串:
1. **字符数组**:可以创建一个新的字符数组,然后从后向前遍历原字符串并逐个添加到新数组中。
```java
public String reverseString(String str) {
char[] chars = str.toCharArray();
int start = 0, end = chars.length - 1;
while (start < end) {
char temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
start++;
end--;
}
return new String(chars);
}
```
2. **StringBuilder或StringBuffer**:这两个类都有`reverse()`方法,可以直接对字符串进行反转。
```java
public String reverseString(String str) {
return new StringBuilder(str).reverse().toString();
}
// 或者使用 StringBuffer,效果相同,但因为线程安全性能较差,一般推荐StringBuilder用于单线程环境
// public String reverseString(String str) {
// return new StringBuffer(str).reverse().toString();
// }
```
3. **Java 8+** 版本的简洁方法:使用`chars()`方法和`reduce()`函数结合。
```java
public String reverseString(String str) {
return Stream.of(str.chars())
.mapToObj(i -> (char) i)
.collect(Collectors.reversing())
.join("");
}
```
java字符串翻转函数
在Java中,你可以使用多种方式来实现字符串反转,这里列举几种常见的方法:
1. **字符数组**:将字符串转换成字符数组,然后从两端开始交换字符,最后再连接成一个新的字符串。
```java
public String reverseString(String s) {
char[] chars = s.toCharArray();
int start = 0;
int end = chars.length - 1;
while (start < end) {
char temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
start++;
end--;
}
return new String(chars);
}
```
2. **StringBuilder/ StringBuffer**: 这些类提供了一个`reverse()`方法可以直接完成字符串反转。
```java
public String reverseString(String s) {
return new StringBuilder(s).reverse().toString();
}
```
3. **递归**:通过定义一个递归函数,每次取出字符串的第一个字符并添加到结果的末尾,直到字符串为空。
```java
public String reverseString(String s) {
if (s.isEmpty()) return s;
return reverseString(s.substring(1)) + s.charAt(0);
}
```
阅读全文