利用java实现单词倒序排列
本文就是会将数组里面的单词进行倒序排列例如howoldareyou->youareoldhow
示例程序输出结果:
thefirst:
Howoldareyou!?Idon'tunderstand
thesecond:
understanddon'tI?!youareoldHow
示例代码
publicstaticvoidmain(String[]args){
char[]chars=newString("Howoldareyou!?Idon'tunderstand").toCharArray();
System.out.println("thefirst:");
System.out.println(chars);
reverseWords(chars);//主要方法
System.out.println("thesecond:");
System.out.println(chars);
}
/**
*会将数组里面的单词倒序排列例如howoldareyou->youareoldhow
*@paramchars
*/
publicstaticvoidreverseWords(char[]chars){
reverseChars(chars,0,chars.length-1);
intbegin=-1;
intend=0;
for(inti=0;i<chars.length;i++){
charc=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
*@paramchars数组
*@parambegin开始位置
*@paramend结束位置
*/
publicstaticvoidreverseChars(char[]chars,intbegin,intend){
while(end>begin){
charc=chars[begin];
chars[begin]=chars[end];
chars[end]=c;
begin++;
end--;
}
}
以上就是利用java实现单词倒序排列,希望对大家能够理解,对大家有所帮助