Java实现字符串倒序输出的四种方法汇总
作者:Accompany_l
这篇文章主要介绍了Java实现字符串倒序输出的四种方法汇总,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Java字符串倒序输出方法
不是很复杂的内容,在此不做过多赘述,直接上代码^_^
/*
* string倒序输出
* 利用String类的toCharArray(),再倒序输出数组的方法
* 2018-5-18 13:05:00
*/
private static void reverseString1(String str) {
char[] chr = str.toCharArray();
for (int i = chr.length-1 ; i >= 0; i--) {
System.out.print(chr[i]);
}
System.out.println("\t");
}
/*
* string倒序输出
* 利用String类提供的subString()方法,利用递归的办法输出倒序字符串。
* 2018-5-18 13:16:00
*/
private static void reverseString2(String str) {
if (str.length() == 1)
System.out.println(str);
else {
String subString1 = str.substring(0, str.length() - 1);
String subString2 = str.substring(str.length() - 1);
System.out.print(subString2);
reverseString2(subString1);
}
}
/*
* string倒序输出
* 定义成一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。
* 2018-5-18 13:22:10
*/
private static void reverseString3(String str) {
StringBuffer buffer = new StringBuffer(str);
System.out.println(buffer.reverse());
}
/*
* 自己瞎写
* 还是利用subString()方法,只不过循环输出
* 2018-5-18 13:18:30
*/
private static void reverseStringMy(String str) {
StringBuffer a = new StringBuffer();
String subString2 = "";
for (int i = str.length(); i > 0; i--) {
subString2 = str.substring(i - 1, i);
a.append(subString2);
}
System.out.print("My:" + a);
System.out.println("\t");
}public static void main(String[] args) {
String str1 = "abc";
System.out.println(str1.substring(2));
String str = "holle world";
//倒序输出的4种方式
reverseString1(str);
reverseString2(str);
reverseString3(str);
reverseStringMy(str);
}打印内容:
c
dlrow elloh
dlrow elloh
dlrow elloh
My:dlrow elloh
面试题之--如何将字符串中的每个单词的倒序输出
1、输入一句英文,将句子倒序输出,忽略最后的标点。
package shenjin;
import java.util.Scanner;
/**
* 输入一句英文,将英文句子反转
*
* @author LENOVO
*
*/
public class ReverseEnglish {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String[] reverse = str.split(" ");
for (int i = reverse.length - 1; i >= 0; i--) {
System.out.print(reverse[i] + " ");
}
}
}
2、输入一句英文,将句子倒序输出,并且将最后的标点倒序在首位。
package shenjin;
import java.util.Scanner;
/**
* 输入一句英文,将英文句子反转,并将最后英文标点放到首位
* @author LENOVO
*
*/
public class ReverseEnglish2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String str1 = str.substring(0, str.length()-1);
String str2 = str.substring(str.length()-1, str.length());
String[] reverse = str1.split(" ");
System.out.print(str2);
for (int i = reverse.length - 1; i >= 0; i--) {
System.out.print(reverse[i] + " ");
}
}
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
