将一整个字符串进行的反转

(只需要调用String类中的反转方法即可,比较简单)


package changYongLei;
// reverse() 将此字符序列用其反转形式取代。--------StringBuffer  /  StringBuilder

public class FanZhuan_String {
  public static void main(String[] args) {
/* 方法一:*/ StringBuffer sb1 = new StringBuffer("To be or not to be");
    System.out.println(sb1.reverse());//使用现成的 reverse() 方法完成字符串的反转


/* 方法二:*/ StringBuilder sb2 = new StringBuilder("To be or not to be") ;
    System.out.println(sb2.reverse());
 } 
}

JAVA字符串反转函数 java让字符串反转_有效字符


将一个字符串中的每一个单词分别进行翻转


编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,例如将“To be or not to be",变成"oT eb ro ton ot eb."。

package changYongLei;

import java.util.Scanner;

public class FanZhuan_String2 {
 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = null;
        if(sc.hasNext()) {
            str = sc.nextLine();
        }
        if(str == null){
            System.out.println("");
        }else {
            String[] ss = str.split(" {1,}");

            //用多个空格分隔符进行分隔。split(" {1,}").。注意是空格加{1,}。
            // 就是说以1个空格或者1个以上空格分隔。如果是用两个或者以上空格split(“ {2,}”)。
            for (int i = 0; i < ss.length; i++) {
                StringBuilder builder = new StringBuilder();
                if (i == ss.length - 1)
                    System.out.print(builder.append(ss[i]).reverse() + ".");
                else
                    System.out.print(builder.append(ss[i]).reverse() + " ");
            }
        }
    }
}

JAVA字符串反转函数 java让字符串反转_System_02


方法二:(简单的方法,简洁好用)

package changYongLei;

import java.util.Scanner;

public class FanZhuan_String3 {
 public static void main(String[] args) {
  Scanner in =  new Scanner(System.in);
  String x=in.nextLine();
  String arr[]=x.split(" ");
  for(int i=0;i<=arr.length-2;i++) {
   StringBuffer sb=new StringBuffer(arr[i]);
   System.out.print(sb.reverse()/*.toString()*/+" ");
  }
  StringBuffer sb=new StringBuffer(arr[arr.length-1]);
  System.out.print(sb.reverse()/*.toString()*/+".");
 }
}

一些小小的解释说明


.hasNext() 是什么意思?
//这是java的迭代器的用法。
百 1)使用方法 iterator()要求容器返回一个 Iterator。第一次调用度Iterator 的next()方法时,知它返回序列的第一个道元素。版
2)使用next()获得序列中的下一个元素。
3)使用hasNext()检查序列中是否还有元素。
4)使用remove()将上一次返回的权元素从迭代器中移除。 
hasNext()是Scanner类的一个方法,判断是否有输入,有输入项,a .hasNext()为true,没有输入项,a .hasNext()为false。
split的用法Java中split主要用于分隔字符串。
1、如果用“.”作为分隔的话,必须是如下写法,String.split("\\."),这样才能正确的分隔开,不能用String.split(".")。
2、如果用“|”作为分隔的话,必须是如下写法,String.split("\\|"),这样才能正确的分隔开,不能用String.split("|"),“.”和“|”都是转义字符,必须得加"\\"。
Java中split使用注意事项:
1、要被分解的String对象或文字,该对象不会被split方法修改。
2、字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
3、该值用来限制返回数组中的元素个数(也就是最多分割成几个数组元素,只有为正数时有影响)。
4、split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator不作为任何数组元素的部分返回。
那是字符串分割的方法zd比如有个字符串是这样的 String str = "boo:and:foo";调用它的方版法 str.split(":");意思是以“:”分割上面的字符串。返回权一个字符串数组,数组里面就是{ "boo", "and", "foo" }
ext()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,
  只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。
  简单地说,next()查找并返回来自此扫描器的下一个完整标记。
  完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串而nextLine()方法的结束符只是Enter键,
  即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。