我无法弄清楚如何让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(); }
}
答案 0 :(得分:4)
你的问题在这里:
if( Character.isWhitespace(currentCharacter) );
那个尾随“;”在那一行... 杀死你的if!
换句话说,您的代码实际上是这样做的:
if( Character.isWhitespace(currentCharacter) ) {
;
}
{
... counter increase
}
每次循环迭代都会增加您的计数器。因此最终得到输入中确切的字符数!