@Pioneer02

Как вывести количество слов одной длины в строке?

вывести количество слов одинаковой длины из строки.Например: String[aaf ff aaa bb] , а в ней 2 слова - длины 3 и 2 слова - длины 2. Я пыталась, но получается криво и неправильно. Методы использовать нельзя

public static int CountLength(String str){
String word1 = str.substring(0,3);
String word2 = str.substring(4,6);
String word3 = str.substring(7,10);
String word4 = str.substring(11,13);
int count=0;
if(word1.length() == word2.length()) count++;
else count--;
if(word1.length() == word3.length()) count++;
else count--;
if(word1.length() == word4.length()) count++;
else count--;
if(word2.length() == word3.length()) count++;
else count--;
if(word2.length() == word4.length()) count++;
else count--;
if(word3.length() == word4.length()) count++;
else count--;
return count;
}
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
@TurboKaban
попробуйте сплитом разбить строку в массив, дальше в хэшмапу, у которой ключ это длина слова, а value это счетчик. Только я условие задачи не понял, поэтому в моем примере из мапы печатаю длину слова и количество слов этой длины

String myStr = "aaa as dsr asf 33";
        String s[] = myStr.split(" ");
        Map<Integer, Integer> map = new HashMap();
        for (int i = 0; i < s.length; i++) {
            int l = s[i].length();
            map.put(l, map.containsKey(l) ? map.get(l) + 1 : 1 );
        }
        map.forEach((k, v) -> System.out.println( k + ": " + v));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы