【发布时间】:2017-03-08 22:35:16
【问题描述】:
我无法准确弄清楚如何让 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) );
-
有时候,最简单的事情被证明是最难的……我看了一遍,甚至没有抓住它。
-
使用自动缩进会让这类问题变得明显。
标签: java string if-statement while-loop whitespace