Хобрук: Ваш путь к мастерству в программировании

как посчитать буквы в каждой букве строки в Java?

Я использовал этот код, чтобы попробовать это:

String st="Hello world have a nice day";
String arr=st.Split(" ");
for (int i=0; i < arr.length; i++) {
    ???
}

Но это не работает.

Я хочу, чтобы он выводил что-то вроде этого:

Hello=5
World=5
have=4
a=1
nice=4
day=3

Кто-нибудь знает правильный код, пожалуйста?

10.03.2013

Ответы:


1

Вы можете использовать что-то вроде этого:

String[] words = yourString.split(" ");

for (String word : words) {
  System.out.println(word + " length is: " + word.length());
}
10.03.2013

2

word.length() возвращает длину строки.

Однако метод split() просто разбивает строку на пробелы, оставляя все в результирующих разбиениях. Под всем я подразумеваю знаки препинания, табуляторы, символы новой строки и т. д., и все это будет учитываться при подсчете длины. Поэтому вместо того, чтобы просто делать word.length(), вы можете сделать что-то вроде:

word.replaceAll("\p{Punct}", "").trim().length().

  • replaceAll("\p{Punct}", "") удаляет все знаки препинания из строки.

  • trim() удаляет все начальные и конечные пробелы.

Так, например, предложение:

Я видел блуждающий огонек.\n

(\n означает символ конца строки, который вы можете получить, например, если читаете строку из файла).

Предложение будет разделено на:

"I"  
"saw"  
"a"  
"will-o'-the-wisp.\n"

последняя строка

блуждающий огонек.\n

имеет 18 символов, но это больше, чем количество символов в слове. После метода replaceAll() строка будет выглядеть так:

блуждающий огонь\n

а после метода trim() строка будет выглядеть так:

блуждающий огоньк

который имеет длину 12, длину слова.

10.03.2013

3

Используйте расширенный цикл for и распечатайте слово и его длину.

foreach(String w : st.split()) {
    System.out.println(w + ": " + w.length());
}
10.03.2013
Новые материалы

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..

React Hooks: основы деструктуризации массива
Kent C. Dodds написал классный пост о том, как грядущая функция React под названием Hooks работает на капоте. Предстоящий хук React useState основан на деструктурировании массива, давайте..

Пакеты R, используемые в Tesla
Добро пожаловать обратно! R — очень популярный язык программирования, используемый множеством компаний, включая Tesla! Итак, давайте взглянем на некоторые пакеты R, которые использует Tesla...

Сокращение и слияние токенов для эффективных моделей VL: обзор
Часто в задачах, связанных с компьютерным зрением и НЛП, вычислительно затратная и требующая большого объема памяти обработка становится препятствием для более быстрого логического вывода модели, а..