我试图弄清楚如何制作一个我有的句子计数器,但问题是,只有当句号/问号/等后面有两个空格时,我才需要它来计算一个句子。
例如,使用我的代码,如果您输入字符串“你好,我的名字是 ryan...”,它会返回 3 个句子的计数。我需要它只计算一个句子。
这个程序还需要计算单词。我通过计算空格的数量来计算单词 - 1。这就是我的问题所在,我要么搞砸了字数,要么搞砸了句子数。
字数统计方法如下:
public static int countWords(String str){
if(str == null || str.isEmpty())
return 0;
int count = 0;
for(int i = 0; i < str.length(); i++){
if(str.charAt(i) != ' '){
count++;
while(str.charAt(i) != ' ' && i < str.length()-1){
i++;
}
}
}
return count;
}
这是计算句子的方法:
public static int sentenceCount(String str) {
String SENTENCE_ENDERS = ".?!";
int sentenceCount=0;
int lastIndex=0;
for(int i=0;i < str.length(); i++){
for(int j=0;j < SENTENCE_ENDERS.length(); j++){
if(str.charAt(i) == SENTENCE_ENDERS.charAt(j)){
if(lastIndex != i-1){
sentenceCount++;
}
lastIndex = i;
}
}
}
return sentenceCount;
}