不使用拆分方法对不在字符串数组中的字符串中的单词进行计数

周神

我需要计算字符串中的单词数。对于你们中的许多人来说,这似乎很简单,但是根据我在类似问题中所读的内容,人们在说要使用数组,但我宁愿不这样做。由于我的字符串来自输入文件,并且程序无法硬连线到特定文件,因此它会使程序变得更加复杂,而不是帮助。

到目前为止,我有:

while(input.hasNext())
    {
        String sentences = input.nextLine();
       int countWords;
       char c = " ";
       for (countWords = 0; countWords < sentences.length(); countWords++)
       {
            if (input.hasNext(c))
                countWords++;
       }

       System.out.println(sentences);
       System.out.println(countWords);
    }

问题是我在这里所得到的最终是计算字符串中字符的数量。我以为它将char c作为分隔符。我也尝试过使用String c代替input.hasNext,但是编译器告诉我:

Program04.java:39: incompatible types
found   : java.lang.String[]
required: java.lang.String
       String token = sentences.split(delim);

此后,我从程序中删除了.split方法。如何在不将String数组与扫描文件一起使用的情况下定界(该单词正确吗?)?

亚历山大·杜宾斯基(Aleksandr Dubinsky)

请勿将扫描仪(input)用于多于一件的事情。您正在使用它来读取文件中的行,并且还试图使用它来计数这些行中的单词。使用第二台扫描仪来处理生产线本身,或使用其他方法。

问题在于扫描程序在读取缓冲区时会消耗其缓冲区。input.nextLine()返回sentences,但之后不再包含它们。调用input.hasNext()它为您提供有关字符的信息之后 sentences

计算字数的最简单方法sentences是:

int wordCount = sentences.split(" ").length;

使用扫描仪,您可以执行以下操作:

Scanner scanner = new Scanner(sentences);
while(scanner.hasNext())
{
     scanner.next();
     wordCount++;
}

或使用for循环以获得最佳性能(如BlackPanther所述)。

我要给您的另一个提示是如何更好地命名变量。countWords应该是wordCount“计数单词”是命令,是动词,而变量应是名词。sentences应该简单地是line,除非您知道该行是由句子组成的,而且这个事实与其余代码有关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript:对字符串中的单词进行拆分和计数

来自分类Dev

计数字符串中的单词

来自分类Dev

从字符串数组中拆分字符串

来自分类Dev

使用单词拆分字符串,但将单词保留在每个数组索引中

来自分类Dev

使用单词拆分字符串,但将单词保留在每个数组索引中

来自分类Dev

字符串数组中字符串的计数频率

来自分类Dev

按字符串数组拆分字符串,并包含用于在 C# 中的最终数组中拆分的单词

来自分类Dev

使用python的字符串中单词的加权计数

来自分类Dev

如何使用 Java 中的拆分方法将字符串句子拆分为单词?

来自分类Dev

在不使用VBA的Excel中拆分字符串(单元格)(例如,用于数组公式)

来自分类Dev

在不使用数组的情况下计算字符串中的唯一单词

来自分类Dev

如何在不使用数组的情况下删除字符串中的重复单词?

来自分类Dev

使用dplyr对每行(行)中的特定字符串(字符串)进行计数或求和

来自分类Dev

在字符串中查找单词的方法

来自分类Dev

在字符串中查找单词的方法

来自分类Dev

如何在不使用拆分方法的情况下找到字符串中最长的单词

来自分类Dev

在字符串中查找单词并从该单词拆分字符串

来自分类Dev

使用基于字符串中的字符的比较器对字符串数组进行排序

来自分类Dev

在字符串数组中使用单词计数功能

来自分类Dev

在字符串数组中使用单词计数功能

来自分类Dev

将字符串拆分为行时跳过括号中的单词计数,以便行具有相同数量的不在括号内的单词

来自分类Dev

如何在JavaScript中不使用内置sort()和atoi方法对字符串数据类型的数组进行排序

来自分类Dev

不使用修剪方法从字符串中删除空格?

来自分类Dev

使用哈希集对数组中的字符串数量进行计数(无重复)

来自分类Dev

在Java中针对单词拆分字符串

来自分类Dev

用单词在Java中拆分字符串

来自分类Dev

用R中的单词拆分字符串

来自分类Dev

根据列表中给定的单词拆分字符串

来自分类Dev

用R中的单词拆分字符串

Related 相关文章

  1. 1

    JavaScript:对字符串中的单词进行拆分和计数

  2. 2

    计数字符串中的单词

  3. 3

    从字符串数组中拆分字符串

  4. 4

    使用单词拆分字符串,但将单词保留在每个数组索引中

  5. 5

    使用单词拆分字符串,但将单词保留在每个数组索引中

  6. 6

    字符串数组中字符串的计数频率

  7. 7

    按字符串数组拆分字符串,并包含用于在 C# 中的最终数组中拆分的单词

  8. 8

    使用python的字符串中单词的加权计数

  9. 9

    如何使用 Java 中的拆分方法将字符串句子拆分为单词?

  10. 10

    在不使用VBA的Excel中拆分字符串(单元格)(例如,用于数组公式)

  11. 11

    在不使用数组的情况下计算字符串中的唯一单词

  12. 12

    如何在不使用数组的情况下删除字符串中的重复单词?

  13. 13

    使用dplyr对每行(行)中的特定字符串(字符串)进行计数或求和

  14. 14

    在字符串中查找单词的方法

  15. 15

    在字符串中查找单词的方法

  16. 16

    如何在不使用拆分方法的情况下找到字符串中最长的单词

  17. 17

    在字符串中查找单词并从该单词拆分字符串

  18. 18

    使用基于字符串中的字符的比较器对字符串数组进行排序

  19. 19

    在字符串数组中使用单词计数功能

  20. 20

    在字符串数组中使用单词计数功能

  21. 21

    将字符串拆分为行时跳过括号中的单词计数,以便行具有相同数量的不在括号内的单词

  22. 22

    如何在JavaScript中不使用内置sort()和atoi方法对字符串数据类型的数组进行排序

  23. 23

    不使用修剪方法从字符串中删除空格?

  24. 24

    使用哈希集对数组中的字符串数量进行计数(无重复)

  25. 25

    在Java中针对单词拆分字符串

  26. 26

    用单词在Java中拆分字符串

  27. 27

    用R中的单词拆分字符串

  28. 28

    根据列表中给定的单词拆分字符串

  29. 29

    用R中的单词拆分字符串

热门标签

归档