java 之每個單詞的逆向輸出--函式法
阿新 • • 發佈:2019-01-27
剛學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