利用java实现单词倒序排列

 更新时间:2015年07月30日 16:15:25   作者: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实现单词倒序排列,希望对大家能够理解,对大家有所帮助

相关文章

  • JAVA SFTP文件上传、下载及批量下载实例

    JAVA SFTP文件上传、下载及批量下载实例

    本篇文章主要介绍了JAVA SFTP文件上传、下载及批量下载实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • SpringCloud实现Eureka服务注册与发现

    SpringCloud实现Eureka服务注册与发现

    这篇文章主要介绍了SpringCloud如何实现Eureka服务注册与发现,帮助大家更好的理解和学习使用SpringCloud,感兴趣的朋友可以了解下
    2021-05-05
  • 在IntelliJ IDEA 搭建springmvc项目配置debug的教程详解

    在IntelliJ IDEA 搭建springmvc项目配置debug的教程详解

    这篇文章主要介绍了在IntelliJ IDEA 搭建springmvc项目配置debug的教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • java实现十六进制字符unicode与中英文转换示例

    java实现十六进制字符unicode与中英文转换示例

    当需要对一个unicode十六进制字符串进行编码时,首先做的应该是确认字符集编码格式,在无法快速获知的情况下,通过一下的str4all方法可以达到这一目的
    2014-02-02
  • 正确遍历删除List中的元素方法(推荐)

    正确遍历删除List中的元素方法(推荐)

    下面小编就为大家带来一篇正确遍历删除List中的元素方法(推荐)。小编觉得挺不错的,在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 深入了解Java中循环结构的使用

    深入了解Java中循环结构的使用

    Java中有三种主要的循环结构:while 循环、do…while 循环和for 循环。本文将来和大家一起讲讲Java中这三个循环的使用,需要的可以参考一下
    2022-08-08
  • springboot调用python脚本的实现示例

    springboot调用python脚本的实现示例

    本文介绍了在SpringBoot应用中调用Python脚本,包括ProcessBuilder类和ApacheCommonsExec库两种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-12-12
  • Java实现异步延迟队列的方法详解

    Java实现异步延迟队列的方法详解

    目前系统中有很多需要用到延时处理的功能,本文就为大家介绍了Java实现异步延迟队列的方法,文中的示例代码讲解详细,需要的可以参考一下
    2023-03-03
  • 基于Java在netty中实现线程和CPU绑定

    基于Java在netty中实现线程和CPU绑定

    这篇文章主要介绍了基于Java在netty中实现线程和CPU绑定,文章围绕主题的相关内容展开详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • Kotlin语言编程Regex正则表达式实例详解

    Kotlin语言编程Regex正则表达式实例详解

    这篇文章主要为大家介绍了Kotlin语言编程Regex正则表达式实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论