利用java实现单词倒序排列
程序员文章站
2024-03-06 09:40:01
本文就是会将数组里面的单词进行倒序排列 例如 how old are you -> you are old how
示例程序输出结果:
the first:...
本文就是会将数组里面的单词进行倒序排列 例如 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实现单词倒序排列,希望对大家能够理解,对大家有所帮助
上一篇: C#反射实例学习及注意内容
下一篇: Java 异步回调机制实例分析