一、使用String对象实现输出一首回文诗:
public class StringExample {
public static void main(String[] args) {
String palindrome = "香莲碧水动风凉 水动风凉夏日长";
int len = palindrome.length(); //获得字符串对象的长度
char[] tempCharArray = new char[len]; //创建字符数组
char[] charArray = new char[len]; //创建字符数组
//将原始字符串中的字符放到字符数组中
for (int i = 0; i < len; i++) {
tempCharArray[i] = palindrome.charAt(i);
}
//反转字符数组中的字符
for (int j = 0; j < len; j++) {
charArray[j] = tempCharArray[len - 1 - j];
}
String reversedPalindrome = new String(charArray); //使用反转后的字符数组创建新的字符串
System.out.println(palindrome);
System.out.println(reversedPalindrome);
}
编译并运行上述程序,输出结果如下所示:
香莲碧水动风凉 水动风凉夏日长
长日夏凉风动水 凉风动水碧莲香
这是明末浙江才女吴绛雪《四时山水诗》中的夏景诗。在上例中,要完成字符串的翻转,程序将字符串转换到一个字符数组(第一个for循环),反转次序将字符复制到另一个数组中(第二个for循环),然后再重新生成新的字符串,并输出。
二、使用StringBuilder对象实现输出一首回文诗:
public class StringBuilderExample {
public static void main(String[] args) {
String palindrome = "香莲碧水动风凉 水动风凉夏日长";
StringBuilder sb = new StringBuilder(palindrome); //创建StringBuilder对象
sb.reverse(); //翻转字符串
System.out.println(palindrome); //输出原来的字符串内容
System.out.println(sb); //输出翻转以后的字符串内容
}
}
在程序StringBuilderExample中,将文字顺序的颠倒,改为使用StringBuilder对象的reverse()方法来实现。可以看出,这样处理的方式很简单,使程序更加简洁。