將一整個字符串進行的反轉
(只需要調用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鍵之前的所有字符,它是可以得到帶空格的字符串的。