本帖最后由 Linuxgg 于 2014-4-10 02:06 编辑
- public static void main(String[] args) {
- String s = " The quick brown fox ";
- System.out.println("初始字符串["+s+"]");
- //方法一,反转,但是不保留空格
- System.out.println("方法一,反转,但是不保留空格------------");
- String[] news = s.split(" +");
- for (int i = 1; i < news.length+1; i++) {
- System.out.print(news[news.length - i] + "_");
- }
- System.out.println("\n方法二,反转,并且保留空格------------");
-
- //方法二,反转,并且保留空格
- char[] c = s.toCharArray();
- StringBuffer sb = new StringBuffer();
- StringBuffer sb2 = new StringBuffer("");
- for (int i = 1; i < c.length + 1; i++) {
- char c3 = c[c.length - i];
- if (c3 != ' ') { //判断是否是空格
- if (i != c.length) //判断i是否到最大值,如果不到,继续追加字符到sb2
- sb2.append(c3);
- else { //如果到了最大值,追加最后一个字符,并且反转后追加到sb
- sb2.append(c3);
- sb.append(sb2.reverse().toString());
- }
- } else { //如果是空格,则反转非空格字符串,然后追加
- sb.append(sb2.reverse().toString());//碰到空格后反转追加到sb
- sb.append("_");
- sb2.delete(0, sb2.length()); //清空
- }
- }
- System.out.println(sb);
- }
复制代码
输出结果,为了容易看,输出的时候,空格用"_"代替:
- 初始字符串[ The quick brown fox ]
- 方法一,反转,但是不保留空格------------
- fox_brown_quick_The__
- 方法二,反转,并且保留空格------------
- __fox________brown____quick____The___
复制代码 |