如何在 Java 中反转字符串
本篇文章介绍了如何在 Java 中反转字符串,并列举了一些示例代码来了解它。
反转字符串有几种方法,比如 reverse()
、sorted()
、parallelSort()
等方法。我们来看看例子。
使用 Java 中的 reverse()
方法反转字符串
在这个例子中,我们使用 StringBuilder
类的 reverse()
方法以相反的顺序得到字符串,我们使用 toString()
方法从 StringBuilder
对象中得到字符串对象。请看下面的例子。
public class SimpleTesting {
public static void main(String[] args) {
String str = "DelfStack";
System.out.println(str);
StringBuilder strb = new StringBuilder(str);
str = strb.reverse().toString();
System.out.println(str);
}
}
输出:
DelfStack
kcatSfleD
在 Java 中使用自定义代码反转字符串
如果你不想使用内置方法,那就使用自定义代码,使用循环交换字符串字符,并将它们收集到一个字符数组中,进一步转换为字符串。请看下面的例子。
public class SimpleTesting {
public static void main(String[] args) {
String str = "DelfStack";
System.out.println(str);
char[] ch = str.toCharArray();
int begin = 0;
int end = ch.length-1;
char temp;
while(end>begin){
temp = ch[begin];
ch[begin] = ch[end];
ch[end] = temp;
end--;
begin++;
}
str = new String(ch);
System.out.println(str);
}
}
输出:
DelfStack
kcatSfleD
使用 Java 中的 append()
方法反转字符串
这是 Java 中另一种反转字符串的方法。在这里,我们在 for 循环中使用 charAt()
和 append()
方法来获取和存储 chars 到 StringBuilder
对象中。请看下面的例子。
public class SimpleTesting {
public static void main(String[] args) {
String str = "DelfStack";
System.out.println(str);
StringBuilder dest = new StringBuilder();
for (int i = (str.length() - 1); i >= 0; i--){
dest.append(str.charAt(i));
}
System.out.println(dest);
}
}
输出:
DelfStac
kcatSfleD
使用 Java 中的递归来反转字符串
递归是一种技术,在这种技术中,一个函数一次又一次地调用自己,直到达到基本条件。我们可以使用递归来反转字符串,如下面的例子。
public class SimpleTesting {
public static void main(String[] args) {
String str = "DelfStack";
System.out.println(str);
String reverseStr = reverseIt(str, str.length()-1);
System.out.println(reverseStr);
}
static String reverseIt(String str, int index){
if(index == 0){
return str.charAt(0) + "";
}
char letter = str.charAt(index);
return letter + reverseIt(str, index-1);
}
}
输出:
DelfStack
kcatSfleD
使用 Java 中的 Stack
来反转字符串
我们可以使用 Stack
类来反转字符串。我们使用 Stack
类的 push()
方法将字符收集到堆栈中,然后使用 pop()
方法将存储的字符按相反的顺序取回。请看下面的例子。
import java.util.Stack;
public class SimpleTesting {
public static void main(String[] args) {
String str = "DelfStack";
System.out.println(str);
Stack<Character> stack = new Stack<>();
for (int i = 0; i < str.length(); i++) {
stack.push(str.charAt(i));
}
StringBuilder strb = new StringBuilder();
while (!stack.empty()) {
strb.append(stack.pop());
}
System.out.println(strb);
}
}
输出:
DelfStack
kcatSfleD
相关文章
Do you understand JavaScript closures?
发布时间:2025/02/21 浏览次数:108 分类:JavaScript
-
The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.
Do you know about the hidden traps in variables in JavaScript?
发布时间:2025/02/21 浏览次数:178 分类:JavaScript
-
Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av
How much do you know about the Prototype Chain?
发布时间:2025/02/21 浏览次数:150 分类:JavaScript
-
The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start
如何从 Pandas 的日期时间列中提取月份和年份
发布时间:2024/04/23 浏览次数:160 分类:Python
-
我们可以分别使用 dt.year()和 dt.month()方法从 Datetime 列中提取出年和蛾。我们还可以使用 pandas.DatetimeIndex.month 以及 pandas.DatetimeIndex.year 和 strftime()方法提取年份和月份。
如何检查 NaN 是否存在于 Pandas DataFrame 中
发布时间:2024/04/23 浏览次数:208 分类:Python
-
我们可以使用 isnull()和 isna()方法检查 Pandas DataFrame 中是否存在 NaN。
如何在 Pandas DataFrame 的列中将所有 NaN 值替换为零
发布时间:2024/04/23 浏览次数:198 分类:Python
-
在 Pandas 库中使用 df.fillna(),df.replace()方法在 DataFrame 中将 NaN 值替换为零
如何在 Pandas 中更改列的数据类型
发布时间:2024/04/23 浏览次数:183 分类:Python
-
本教程介绍了如何通过使用 to_numaric,as_type 和 infer 对象来更改 Pandas 中列的数据类型。
如何对 Pandas 中的 DataFrame 行随机排序
发布时间:2024/04/23 浏览次数:128 分类:Python
-
我们可以使用 sample(),shuffle()和 permutation()方法随机地对 Pandas 中的 DataFrame 行进行随机排序。
如何获取 Pandas DataFrame 的行数
发布时间:2024/04/23 浏览次数:71 分类:Python
-
本教程介绍如何通过使用 shape,len()来获取 Pandas DataFrame 的行数,以及有多少行元素满足条件。