首页 > 编程 > Java > 正文

利用java实现单词倒序排列

2019-11-26 15:02:43
字体:
来源:转载
供稿:网友

本文就是会将数组里面的单词进行倒序排列 例如 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实现单词倒序排列,希望对大家能够理解,对大家有所帮助

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表