反转英文句子内单词
2016-08-09 16:42
302 查看
比如:
输入字符串:Hello, I need an apple.
输出结果为:olleH, I deen na elppa.
注:只反转句子中各单词,遇到不是英文字符的字符则视为单词的结束。
输入字符串:Hello, I need an apple.
输出结果为:olleH, I deen na elppa.
注:只反转句子中各单词,遇到不是英文字符的字符则视为单词的结束。
import java.util.*; import java.io.*; public class Main{ public static void main(String[] args)throws Exception{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s=""; while((s=br.readLine())!=null){ char[] ch=s.toCharArray(); int begin=-1; int end=-1; for(int i=0;i<ch.length;i++){ if(!is_alf(ch[i])){//若不是英文字符 if(begin!=-1){//之前是英文单词 reverse(ch,begin,end); }//之前不是英文单词,跳过 begin=-1; }else{//是英文字符 if(begin == -1){ begin=i;//若begin为1,则begin赋值 end=begin; }else{ end++;//end递增 } } } //若最后是英文单词结束,则还要单独reverse if(begin!=-1){ reverse(ch,begin,end); } // System.out.println(String.valueOf(ch)); } } public static boolean is_alf(char c){ if(c>='a'&&c<='z'||c>='A'&&c<='Z'){ return true; }else{ return false; } } public static void reverse(char[] ch,int begin,int end){ while(begin < end){ char temp=ch[begin]; ch[begin]=ch[end]; ch[end]=temp; begin++; end--; } } }
相关文章推荐
- 反转一个英文句子中的单词,并且对应位置大小写不改变
- java算法实现"输入一个英文句子,反转句子中的单词顺序,但单词内字符的顺序不变"
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。(笔试题) 句子中单词以空格符隔开。为简单起见,没有标点符号。 例如输入“I am a student”,则输出“student a
- 编写函数计算一个英文句子中的单词个数
- 字符串左旋转&&反转单词顺序&&Text Reverse&&句子的逆序
- 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
- 英文句子按单词反序输出的C++实现代码
- C语言 反转句子中单词的顺序
- 软件工程导论课后习题Github作业(把一个英文句子中的单词次序逆序,单词中字母正常排列)
- 英文句子中单词翻转java实现
- 反转句子中单词的顺序。
- C#简单实现英文句子单词排序
- (Java)输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开
- Java统计英文句子中出现次数最多的单词并计算出现次数的方法
- 每日一题2:反转英文句子
- 如何将英文句子中的单词位置倒置, 而不改变单词内部结构呢?
- 字符串左旋 VS 反转英文句子
- [python]反转英文句子
- 翻转英文句子中单词的顺序
- 英文句子单词翻转(StringBuilder,charAt,insert)