如何在 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
相关文章
MySQL 中如果列存在,则删除该列
发布时间:2023/05/08 浏览次数:188 分类:MySQL
-
在本篇文章中,我们将学习如何删除 MySQL 中存在的单个或多个列。如果列存在于 MySQL 中,则删除该列 在表格中,列是一行单元格,可以包含文本、数字和图形。 对于表中的每一行,每列中存
如何在 C 语言中获取数组的大小
发布时间:2023/05/07 浏览次数:92 分类:C语言
-
本教程介绍了 C 语言中确定数组大小的方法。本教程介绍了在 C 语言中使用 sizeof()运算符的方法。
如何在 CentOS 中获取 IP 地址
发布时间:2023/05/04 浏览次数:108 分类:操作系统
-
这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。
在 Java 中获取文件大小
发布时间:2023/05/01 浏览次数:139 分类:Java
-
Java 提供了不同的方法来获取文件的字节大小。 本教程演示了在 Java 中获取文件大小的不同方法。使用 Java IO 的文件类获取文件大小 Java IO 包的 File 类提供了以字节为单位获取文件大小的功能。
Java 中的文件分隔符
发布时间:2023/05/01 浏览次数:108 分类:Java
-
本篇文章介绍了 Java 中的文件分隔符。Java 中的文件分隔符 文件分隔符是用来分隔目录的字符; 例如,Unix 使用 /,Windows 使用 \ 作为文件分隔符。
Java 中的文件过滤器
发布时间:2023/05/01 浏览次数:193 分类:Java
-
本篇文章介绍如何在 Java 中使用 FileFilter。FileFilter 用于过滤具有特定扩展名的文件。 Java内置包IO和Apache Commons IO为FileFilter提供了类和接口来进行文件过滤操作。
Java 获取 ISO 8601 格式的当前时间戳
发布时间:2023/05/01 浏览次数:132 分类:Java
-
本篇文章介绍了 ISO 8601 日期格式、其重要性及其在 Java 中的使用。 它还列出了一些优点来强调为什么应该使用 ISO 格式来表示日期。
在 Java 中获取数组的子集
发布时间:2023/05/01 浏览次数:142 分类:Java
-
本篇文章介绍了几种在 Java 中获取数组子集的方法。使用 Arrays.copyOf() 方法获取数组的子集 使用 Arrays.copyOfRange() 方法获取数组的子集