利用java实现单词倒序排列
作者:Ds_Diamond
这篇文章就是利用java实现单词倒序排列,感觉像是在变魔术,感兴趣的小伙伴来见证一下
本文就是会将数组里面的单词进行倒序排列 例如 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实现单词倒序排列,希望对大家能够理解,对大家有所帮助