本文就是會將數組里面的單詞進行倒序排列 例如 how old are you -> you are old how
示例程序輸出結果:
the first:
How old are you !? I don't understand
the second:
understand don't I ?! you are old How
示例代碼
public static void main(String[] args) { char[] chars= new String("How old are you !? I don't understand").toCharArray(); System.out.println("the first:"); System.out.println(chars); reverseWords(chars); //主要方法 System.out.println("the second:"); System.out.println(chars); } /** * 會將數組里面的單詞 倒序排列 例如 how old are you -> you are old how * @param chars */ public static void reverseWords(char[] chars) { reverseChars(chars,0,chars.length-1); int begin = -1; int end = 0; for(int i=0;i<chars.length;i++){ char c = chars[i]; if((c>='a'&&c<='z')||(c>='A'&&c<='Z')||c=='/''){ //簡單的判斷了一下是否是連續的單詞 if(begin==-1){ begin = i; end=i; }else{ end=i; if(i==chars.length-1){ reverseChars(chars,begin,end); } } }else{ if(begin!=-1){ reverseChars(chars,begin,end); begin=-1; end=0; } } } } /** * 將char 一定范圍內的 字符 倒序排列 例如 hello -> olleh * @param chars 數組 * @param begin 開始位置 * @param end 結束位置 */ public static void reverseChars(char[] chars, int begin, int end) { while(end>begin){ char c = chars[begin]; chars[begin] = chars[end]; chars[end] = c; begin++; end--; } }
以上就是利用java實現單詞倒序排列,希望對大家能夠理解,對大家有所幫助
新聞熱點
疑難解答