2011-11-26 3 views
1

Мне нужно подсчитать буквы и пробелы в некоторой строке. Выходом является строка мойподсчет букв и пробелов

Я попытался это:

for (int i = 0; i < output.length(); i++) { 
     if (output.charAt(i) != ' ') { 
      letters = letters++; 
     } //counting spaces 
     else { 
      spaces = spaces++; 
     } 

Это не работает. Я получаю 0 букв и 0 пробелов. Полагаю, мне нужен код вместо этого, верно?

ответ

5
letters = letters++; 

неправ. (То же самое для spaces.) См. here или here для пояснения: letters не изменился после этого.

Либо использовать:

letters = letters + 1; 

или просто:

letters++; 
+0

Я тупой проклятый ... –

1

Использование Character.isSpaceChar и Character.isLetter способ. (documentation)

+0

это лучшее решение наверняка ... однако ответ скорее ниже. спасибо в любом случае :) –

0

Ява Character класс имеет вспомогательные методы, которые можно использовать:

int letters = 0, spaces = 0; 
for (int i = 0; i < output.length(); i++) 
{ 
    char c = output.charAt(i); 
    if (Character.isLetter(c)) 
    { 
     letters++; 
    } 
    else if (Character.isWhitespace(c)) 
    { 
     spaces++; 
    } 
} 
Смежные вопросы