利用java实现单词倒序排列
作者:Ds_Diamond 发布时间:2023-07-01 04:30:51
标签: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--;
}
}
0
投稿
猜你喜欢
- 一、Mybatis一对多分解式查询分解式查询就是将一条Sql语句拆分成多条在MyBatis多表查询中,使用连接查询时一个Sql语句就可以查询
- 本文实例讲述了Android编程开发之RadioGroup用法。分享给大家供大家参考,具体如下:RadioGroup 有时候比较有用.主要特
- API Application Programming Interface 应用程序接口接口定义 :指描述可属于任何类或结构的一
- 二、简介多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力,但频繁的创建线程的开
- 本文实例讲述了C#编程实现取整和取余的方法。分享给大家供大家参考,具体如下:"%"为取余号,不用多说。 "/&
- 本文实例为大家分享了java实现Dijkstra算法的具体代码,供大家参考,具体内容如下1 问题描述何为Dijkstra算法?Dijkstr
- 本文实例讲述了Java8新增的重复注解功能。分享给大家供大家参考,具体如下:一 点睛在Java 8以前,同一个程序元素前最多只能使用一个相同
- 序本文主要研究一下java String的internString.intern()java.base/java/lang/String.j
- RandomAccessFileRandomAccessFile 是随机访问文件(包括读/写)的类。它支持对文件随机访问的读取和写入,即我们
- 在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小。这个该如何实现呢?通过读取文件&q
- 最近,由于公司项目中需要将系统内用户操作的所有日志进行转存备份,考虑到以后可能还需要还原,所以最后决定将日志数据备份到Excel中。 下面是
- 本文所述代码是从一个C#程序中摘录出来的,主要实现C#创建目录、删除文件夹及文件的功能,包括所引用的名称空间等,特别是对C#不熟悉的初学者,
- 一、概述:在日常的app使用中,我们会在android 的app中看见 热门标签等自动换行的流式布局,今天,我们就来看看如何自定义一个类似热
- 方法1 :利用Struts 2的支持的可配置结果,可以达到过滤器的效果。Action的处理结果配置支持正则表达式。但是如果返回的对象是一个数
- 1.第一种方式采用System.Net.Dns的GetHostAddress的方式,具体请看代码:/// <summary> &
- 微服务治理Spring Cloud 工具套件为微服务治理提供了全面的技术支持。这些治理工具主要包括服务的注册与发现、负载均衡管理、动态路由、
- BeanUtilsBeanUtils是Apache commens组件里面的成员,由Apache提供的一套开源api,用于简化对javaBe
- 问题 @Cacheable注解不支持配置过期时间,所有需要通过配置CacheManneg来配置默认的过期时间和针对每个类或者是方法进行缓存
- 本文实例讲述了Android编程中的消息机制。分享给大家供大家参考,具体如下:在分析Android消息机制之前,我们先来看一段代码:publ
- Logback日志基础配置logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的。下面是最简单的一个配置,注意加粗的描述<