如何考虑一个以上空间的存在?

任务:有一个字符串。计算字符串中的单词数。该单词被认为由空格分隔。(您不能使用正则表达式)


怎么解决?如果您连续输入两个或多个空格-会认为这些字词是正确的,但我需要算作这两个字词之间的一次大通过


示例I_live_in_Lviv-4个单词,但是如果我们再放一个空格(例如在Lviv之前的示例)-> I_live_in__Lviv-5个单词(而不是下划线,请放一个空格(-s))


Scanner in = new Scanner(System.in);

String line = in.nextLine();


int n = 0;


if (line.length() != 0) {

    n++;

    for (int i = 0; i < line.length(); i++) {

        if (line.charAt(i) == ' ') {

            n++;

        }

     }

}

System.out.print(n);

回答:


Scanner in = new Scanner(System.in);

String line = in.nextLine();


int count = 0;

for(int i = 0; i <= line.length() - 1; i++){

    if(Character.isLetter(line.charAt(i))){

        count++;

        for( ; i <= line.length() - 1; i++){

            if(line.charAt(i) == ' '){

                i++;

                break;

            }

        }

    } 

}

System.out.print(count);


in.close();

结果:


I_live_in__Lviv_-4


幕布斯7119047
浏览 138回答 3
3回答

aluckdog

只需再添加一个变量并在其中存储前一个字符即可。如果返回错误,则检查下一个字符是否为空格,并递增计数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java