java - 在java中计算字符串中的空格

标签 java

我编写了一个程序,它接受一个 String 作为用户输入并显示字母、数字和 white-spaces 的计数。我使用 Tokenizer 类编写了代码,它计算字母和数字,但省略了 white-spaces。有什么想法吗?

import java.util.Scanner;

public class line {

  public static void main(String[] args) {

    System.out.println("Enter anything you want.");
    String text;
    int let = 0;
    int dig = 0;
    int space= 0;

    Scanner sc = new Scanner(System.in);
    text = sc.next();
    char[]arr=text.toCharArray();

    for(int i=0;i<text.length();i++) {
        if (Character.isDigit(arr[i])) {
            dig++;
        } else if (Character.isLetter(arr[i])) { 
            let++;
        } else if (Character.isWhitespace(arr[i])) {
            space++;
        }
    }
    System.out.println("Number of Letters : "+let);
    System.out.println("Number of Digits : "+dig);
    System.out.println("Number of Whitespaces : "+space);
  }          
}

最佳答案

Scanner 默认情况下将输入分成标记,使用 whitespace 作为分隔符!

简单地说,它吞噬了所有的空白!

您可以使用 sc.useDelimiter(/*ToDo - 此处合适的字符 - 可能是分号*/) 将分隔符更改为其他内容。

关于java - 在java中计算字符串中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35602690/

相关文章:

java - 使用通知/等待在 Java 中停止/重新启动线程

java - java/android 查找两个日期与时区之间的差异

Java从文件中读取字符串

java - 如何在 JPA 列中使用自定义类型?

java - 如何获得独立于平台的换行符?

java - Postgresql-Hibertnate 重复键值违反唯一约束

java - 我们可以编写自定义标记界面吗

java - 如何让 XStream 映射回类型化列表?

java - 尝试对 "Deck"类进行洗牌,但似乎没有进行洗牌

java - 将一个 FTL 文件导入到另一个 FTL 文件中