文本项目系列[1]——逆序字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本项目系列[1]——逆序字符串相关的知识,希望对你有一定的参考价值。

1.需求

逆转字符串——输入一个字符串,将其逆转并输出。

比如:输入字符串为:love。则输出为:evol。

注:在下文中,字符串翻转也是逆序的意思。

2.思路

有两种大的思路:

(1) StringBuffer提供了字符串翻转功能,直接利用API即可。

(2) 利用String本质是char数组进行字符串逆序。

3.代码

技术分享
 1 package com.myeclipse;
 2 
 3 /**
 4  * 逆转字符串——输入一个字符串,将其逆转并输出
 5  * @author MrChen
 6  *
 7  */
 8 public class StringReverse {
 9 
10     /**
11      * @param args
12      */
13     public static void main(String[] args) {
14         // TODO Auto-generated method stub
15         String str = "love";
16 //        System.out.println("reverseByStringBuffer result: "+reverseByStringBuffer(str));
17         System.out.println(reverseByCharArray(str));
18     }
19     
20     /**
21      * 利用string本质是char数组来翻转字符串
22      * @param str
23      * @return
24      */
25     public static String reverseByCharArray(String str) {
26         char[] array = new char[str.length()];
27         str.getChars(0, str.length(), array, 0);
28         //打桩,查看char数组内容
29 //        System.out.println(array.length);
30 //        for(char c : array){
31 //            System.out.println(c);
32 //        }
33         //新建一个目标数组,用来存放翻转以后的字符串
34         char[] dest = new char[array.length];
35         //翻转字符
36         for( int i=0; i<dest.length; i++ ) {
37             dest[i] = array[array.length-1-i];
38         }
39         return new String(dest);
40     }
41     
42     
43     /**
44      * 利用StringBuffer提供的字符串反转方法
45      * @param str
46      * @return
47      */
48     public static String reverseByStringBuffer(String str) {
49         StringBuffer sb =new  StringBuffer(str);
50         StringBuffer sb_out = sb.reverse();
51         return sb_out.toString();
52     }
53     
54 
55 }
实现字符串翻转

4.总结

(1) 逆序字符串是一个很简单的功能,但思考方向有两个:一个是朝String之上思考(可以认为StringBuffer是包装了String类型的,从StringBuffer构造方法可以验证),一个是往String之下思考(String本质构成,纵深思考)。

(2) 将字符串转换成char[] 也可以不用现成的API,比如利用for循环,通过索引值的增加逐个得到字符串的每个字符。

(3) char[] 的翻转也有别的方式,比如最简单的 a=b,b=c,c=a 这种传值交换。

(4) 如果懂C语言,甚至可以直接用指针进行操作。

以上是关于文本项目系列[1]——逆序字符串的主要内容,如果未能解决你的问题,请参考以下文章

第三次过程性考核

又一道小题

技巧系列Markdown 极简手册

记录C#常用的代码片段

python中如何实现中文文本逆序输出?

201671010432词频统计软件项目报告