java - 计算 StdIn 中的行数和字符数

标签 java

我想在运行此代码时将一些内容放入 StdIn 中,例如一行文本。该代码应打印出文本字符串中的行数、字符数和单词数。我目前能够计算出字符和单词的数量,但在查找行数时遇到困难。我如何在这里实现它?

public class WordCount
{
    public static void main(String [] args){
        int words = 0, lines = 0, characters = 0;
        while (!StdIn.isEmpty()) {
            String word = StdIn.readString();
            characters += word.length();
            words++;
        }
        StdOut.println("There are " + words + "words");
        StdOut.println("There are " + characters + "characters");
    }
}

最佳答案

来自doc ,您可以使用方法 readLine() 而不是 readString()。这样您就可以轻松获得行数。得到该行后,您可以将其按空格分割并计算单词数。循环遍历每个单词以获得字符数。

public class WordCount
{
    public static void main(String [] args){
        int words = 0, lines = 0, characters = 0;
        while (!StdIn.isEmpty()) {
            String line = StdIn.readLine();
            lines++;
            String[] lineWords = line.split("\\s+");
            words += lineWords.length;
            for(String word : lineWords)
                characters += word.length();
        }
        StdOut.println("There are " + lines + "lines");
        StdOut.println("There are " + words + "words");
        StdOut.println("There are " + characters + "characters");
    }
}

关于java - 计算 StdIn 中的行数和字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34504036/

相关文章:

java - Primavera Integration API 无法创建用户许可证

大小未知时的java 2d数组

java - Integer.parseInt(String) 是否创建对象?

java - 无法减少 int 变量的值

java - 使用 Hibernate 3.6 配置 Glassfish 3

Java onclick 监听器

java - 加入 Java 框架/库,提供注册向导、电子邮件确认、密码复杂性

java - 如何通过类路径上的注释查找类?

java - Spring security 导入在 grails 2.4.4 下不起作用

java - 如何在控制台中写入通过或失败结果以供单击提交按钮(Selenium)