2016-10-26 7 views
1

У меня возникли проблемы с выяснением того, как заставить Java выплеснуть количество пробелов и вкладок, которые находятся в введенной пользователем строке. Я использовал isWhiteSpace, и все, что он подсчитывает, это количество символов в строке.Java: подсчет пробелов и вкладок

Буду признателен за любую помощь,

Спасибо.

Мой код:

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

У вас есть дополнительная точка с запятой: if (Character.isWhitespace (currentCharacter)); – facundop

+0

Иногда это самые простые вещи, которые кажутся самыми трудными ... Я прошел через него и даже не поймал его. – Aramza

+0

Использование автоматического отступа сделает эту проблему очевидной. – chrylis

ответ

4

Ваша проблема здесь:

if(Character.isWhitespace(currentCharacter)); 

Трейлинг ";" на этой линии ... убивает ваш если!

Другими словами, ваш код на самом деле делает это:

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

Ваш счетчик получает увеличивается с каждый цикл итерации. Таким образом, получается точное количество символов на входе!

 Смежные вопросы

  • Нет связанных вопросов^_^