本文就是會將數組裡面的單詞進行倒序排列例如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實現單詞倒序排列,希望對大家能夠理解,對大家有所幫助