迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

如何在 Java 中反转字符串

作者:迹忆客 最近更新:2023/03/28 浏览次数:

本篇文章介绍了如何在 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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

MySQL 中如果列存在,则删除该列

发布时间:2023/05/08 浏览次数:188 分类:MySQL

在本篇文章中,我们将学习如何删除 MySQL 中存在的单个或多个列。如果列存在于 MySQL 中,则删除该列 在表格中,列是一行单元格,可以包含文本、数字和图形。 对于表中的每一行,每列中存

如何在 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() 方法获取数组的子集

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便