我想数词。我使用hasNextChar和getChar方法。该句子可能包含所有字符。这是我的代码:
boolean isWord = false;
while(hasNextChar()){
char current = getChar();
switch(current){
case ' ' : case '.' : case ',' : case '-' :
isWord = false;
default:
if(!isWord) wordCount++;
isWord = true;
}
}
到目前为止,它可以工作,例如当我最后有一个“。”时,它会给我8个而不是7个单词。以下是一些句子示例:
*“ Schreiben Sie ein Praktikanten-Vermittlungs-Programm” –字数:6
“杜马斯特·贾·雷赫特·哈本–阿伯·伊赫·塞赫·达斯·甘兹·安德斯。” –字数:11
“ Hallo Welt !!!!” –字数:2
“ ZweiWörter!!!!” –字数:2
“ Eins,Zwei oder Drei” –字数:4 *
句子不必以“。”结尾。
任何想法如何解决?
最佳答案
您在第一个break
中(在case
之后)忘记了isWord = false
statement。
关于java - 数词,java,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4044358/