利用java實(shí)現(xiàn)單詞倒序排列
本文就是會(huì)將數(shù)組里面的單詞進(jìn)行倒序排列 例如 how old are you -> you are old how
示例程序輸出結(jié)果:
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);
}
/**
* 會(huì)將數(shù)組里面的單詞 倒序排列 例如 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=='\''){ //簡(jiǎn)單的判斷了一下是否是連續(xù)的單詞
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 一定范圍內(nèi)的 字符 倒序排列 例如 hello -> olleh
* @param chars 數(shù)組
* @param begin 開始位置
* @param end 結(jié)束位置
*/
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實(shí)現(xiàn)單詞倒序排列,希望對(duì)大家能夠理解,對(duì)大家有所幫助
相關(guān)文章
利用java實(shí)現(xiàn)中獎(jiǎng)概率詳情
這篇文章主要介紹了利用java實(shí)現(xiàn)中獎(jiǎng)概率詳情,根據(jù)概率將獎(jiǎng)品劃分區(qū)間,每個(gè)區(qū)間代表一個(gè)獎(jiǎng)品,然后抽取???隨機(jī)數(shù)??,反查落在那個(gè)區(qū)間上,即為所抽取的獎(jiǎng)品,需要的朋友可以參考一下2022-07-07
Java數(shù)據(jù)結(jié)構(gòu)與算法之稀疏數(shù)組與隊(duì)列深入理解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)與算法之稀疏數(shù)組與隊(duì)列深入理解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
使用Java校驗(yàn)SQL語(yǔ)句的合法性五種解決方案
這篇文章主要介紹了如何用java校驗(yàn)SQL語(yǔ)句的合法性(提供五種解決方案),使用JDBC?API和JSqlParser庫(kù)、正則表達(dá)式、ANTLR解析器生成器或Apache?Calcite庫(kù)都可以實(shí)現(xiàn)校驗(yàn)SQL語(yǔ)句的合法性,需要的朋友可以參考下2023-04-04
Java Config下的Spring Test幾種方式實(shí)例詳解
這篇文章主要介紹了Java Config下的Spring Test方式實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
Java中Stringbuilder和正則表達(dá)式示例詳解
Java語(yǔ)言為字符串連接運(yùn)算符(+)提供特殊支持,并為其他對(duì)象轉(zhuǎn)換為字符串,字符串連接是通過StringBuilder(或StringBuffer)類及其append方法實(shí)現(xiàn)的,這篇文章主要給大家介紹了關(guān)于Java中Stringbuilder和正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下2024-02-02
Java對(duì)象創(chuàng)建內(nèi)存案例解析
這篇文章主要介紹了Java對(duì)象創(chuàng)建內(nèi)存案例解析,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Spring Boot Admin管理監(jiān)控?cái)?shù)據(jù)的方法
本篇文章主要介紹了Spring Boot Admin管理監(jiān)控?cái)?shù)據(jù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12
Java編程中實(shí)現(xiàn)Condition控制線程通信
這篇文章主要介紹了Java編程中實(shí)現(xiàn)Condition控制線程通信,簡(jiǎn)單介紹了Java中控制線程通信的方法,以及對(duì)condition的解析和實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
Java實(shí)現(xiàn)短信驗(yàn)證碼的示例代碼
Java是一種流行的編程語(yǔ)言,驗(yàn)證碼是一種常用的網(wǎng)絡(luò)安全技術(shù)。Java發(fā)展至今,網(wǎng)上也出現(xiàn)了各種各樣的驗(yàn)證碼,下面是用Java實(shí)現(xiàn)短信驗(yàn)證碼的總結(jié),感興趣的可以了解一下2023-03-03

