1. 程式人生 > >java 之每個單詞的逆向輸出--函式法

java 之每個單詞的逆向輸出--函式法

 剛學java,也算第一篇java有關的題型。題目如下:

Given a string, you need to write a program to reverse the order of characters in each word within a sentence while still preserving whitespace and initial word order

意思說:自己輸入一串字串,輸出:字串的每個單詞所在位置不變,只改變每個單詞的順序,逆向輸出,例如abc def 輸出便應為cba fed。自己想了想,若用c++來做還是比較容易,然而到了java。啥也想不出來,用char型陣列來實現,顯得太過冗雜。最後想了想,還是採用函式的方法,查找了許多,終於算搞定。程式碼如下。

import java.util.*;
public class Wegame {
public static void main(String[]args) {
	Scanner in=new Scanner(System.in);
	String s = in.nextLine();
	in.close();//輸入一串字串
	
	String str = null;
	 for (String retval: s.split(" ")){//將s按照有空格的位置分割成幾段,for進行遍歷
         str = new StringBuffer(retval).reverse().toString();
         //StringBufffer強制將string轉換為stringbuffer
         //(因為stringbuffer裡面有reverse函式)
         //最後在轉換成string型別
         System.out.print(str+' ');//輸出
     }
	 System.out.println();
}


	
}

輸出示例結果

chdus launhg fbreu
sudhc ghnual uerbf