按照你的要求写了以下代码:importjava.util.*;publicclassMain{publicstaticStringnote=,-.-,-。--\-:-!;//各种分词的标点,空格等等.两两用-分隔。publicstaticvoidmain(String[]a){Stringaa=HelloWorldJava,HelloWorldC,andHelloWorldWDK!;StringBufferaaa=newStringBuffer(aa);ArrayListStringresult=mySplit(aaa);for(inti=0;iresult.size();i++)System.out.println(第+i+个单词:+result.get(i));}publicstaticArrayListStringmySplit(StringBufferstr){ArrayListStringret=newArrayListString();intstart_pos=0,end_pos;do{end_pos=getFirst(str.toString(),note);if(end_pos!=-1){str.setCharAt(end_pos,'\0');if(end_pos!=start_pos){ret.add(str.substring(start_pos,end_po
s));}}else{if(start_posstr.length())ret.add(str.substring(start_pos,str.le
ngth()));break;}start_pos=end_pos+1;}while(true);returnret;}/**返回src中,第一出现dest中用-分隔的标点的字符的位置。*没找到,返回-1*/publicstaticintgetFirst(Stringsrc,Stringdest){String[]dest_=dest.split(-);//System.out.println(dest_.length+);for(intj=0;jsrc.length();j++)for(inti=0;idest_.length;i++){if(src.substring(j,j+1).equals(dest_))returnj;}return-1;}}欢迎来Java版提问
Clementlee (踏月留香) 在 ta 的帖子中提到:rt,用prompt方法输入一行英文句子(IamastudentofPekingUniversity),输出这个句子中的英文单词数目。(需用while循环,字符串的相关操作)该交作业了……求大牛告知,非常感谢! |