1. 程式人生 > 其它 >將字串String str= “abc god 中國 java“ 反轉每個單詞 結果: “cba dog 國中

將字串String str= “abc god 中國 java“ 反轉每個單詞 結果: “cba dog 國中

技術標籤:java字串

/**
 * String  str= "abc  god     中國                java"(較難)  反轉每個單詞
   結果:       "cba  dog     國中                avaj"
 *
 */
public class Demo2 {

	public static void main(String[] args) {
		String  str= "abc  god     中國                java";
		
		//因為是以空格為依據判斷的,所以源字串中,java後沒有空格,要是不新增空格
//最後結果avaj會丟失,所以加一個空格變成一個新的字串 String str1 = str + " "; //定義一個String變數用於儲存單個片語 String word = ""; //定義一個變數用於儲存最終結果 String result = ""; /* * 判斷的依據是:當遇到空格時,對單詞反轉 */ for (int i = 0; i < str1.length(); i++) { char ch = str1.charAt(i); //當單個字元是空格字元時,進行拼接並儲存到word的String變數中
if(ch != ' ') { word += ch;//拿到了正序的單個數組 }else { //當單個字元不是空格字元時,對其反轉並儲存到result中 result += reverse(word); //因為之前為了拿到反轉後的java,後面加了空格,所以要取消掉最後面的空格 //即當索引=最大索引的時候,不在新增空格 if(i < str1.length()-1) { result += " "; //每次反轉完之後,讓word置位空,方便後面的反轉 word = ""
; } } } System.out.println(result); } //反轉 public static String reverse(String str) { String result = ""; for (int i = str.length()-1; i >= 0; i--) { result += str.charAt(i); } return result; } }

執行結果:
在這裡插入圖片描述