码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-01-26 23:17:05      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

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]——逆序字符串

标签:

原文地址:http://www.cnblogs.com/helloIT/p/5161709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!