将一整个字符串进行的反转
(只需要调用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());
}
}
将一个字符串中的每一个单词分别进行翻转
编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,例如将“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() + " ");
}
}
}
}
方法二:(简单的方法,简洁好用)
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键之前的所有字符,它是可以得到带空格的字符串的。