Java:计算空格和制表符

Java: Counting Whitespace and Tabs

我无法弄清楚如何让 Java 吐出用户输入字符串中的空格和制表符的数量。我使用了 isWhiteSpace,它只计算字符串中的字符数。

如果有任何帮助,我将不胜感激,

谢谢。

我的代码:

import java.util.Scanner;

public class CharsInLine 
{
    public static void main(String[] args) 
    {
        Scanner console = new Scanner(System.in);

        int numberUpperCase = 0;
        int numberLowerCase = 0;
        int numberWhiteSpace = 0;

        System.out.print("Enter a line of text : ");
        String inLine = console.nextLine();
        int i = 0;

        while ( i < inLine.length() ) {

            char currentCharacter = inLine.charAt(i);

            if ( Character.isUpperCase(currentCharacter) ) {
                numberUpperCase++; }
            if ( Character.isLowerCase(currentCharacter) ) {
                numberLowerCase++; }
            if( Character.isWhitespace(currentCharacter) ); {
              numberWhiteSpace++; }

            i++;

        }

        System.out.println("There are " + numberUpperCase + " upper case characters, " + numberLowerCase + " lower case characters, and " + numberWhiteSpace + " white space characters.");

        console.close(); }
}

您的问题在这里:

 if( Character.isWhitespace(currentCharacter) ); 

尾随“;”在那条线上... kills 你的 if!

换句话说,您的代码实际上是这样做的:

 if( Character.isWhitespace(currentCharacter) ) {
   ; 
 }
 {
    ... counter increase
 }

您的计数器随着 each 循环迭代而增加。因此最终得到输入中的确切字符数!