Странно, я организовал map по принципу ключ - значение, где ключ числа от 0 до 9, значения - пара Фамилия-Имя, разделенная символом (" - ").
Мой код считает количество совпадающих имен и фамилий с заданными (переданными в качестве аргумента в функции getCountTheSameFirstName(HashMap<String, String> map, String name) и getCountTheSameLastName(HashMap<String, String> map, String lastName).
Почему валидатор выдает ошибку типа метод getCountTheSameFirstName() должен возвращать число людей у которых совпадает имя.
Метод getCountTheSameLastName() должен возвращать число людей у которых совпадает фамилия.
Спасибо!
package com.javarush.task.task08.task0815;
import java.util.HashMap;
import java.util.HashSet;
/*
Перепись населения
*/
public class Solution {
public static HashMap<String, String> createMap() {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("0", "Алексеев - Алексей");
hashMap.put("1", "Алексеев - Василий");
hashMap.put("2", "Васильев - Василий");
hashMap.put("3", "Бехтерев - Петр");
hashMap.put("4", "Браундверг - Крот");
hashMap.put("5", "Чичикидзе - Чважит");
hashMap.put("6", "Чичикидзе - Петр");
hashMap.put("7", "Бехтерев - Петр");
hashMap.put("8", "Браундверг - Крот");
hashMap.put("9", "Чичикидзе - Чважит");
return hashMap;
}
public static int getCountTheSameFirstName(HashMap<String, String> map, String name) {
int nameCounter = 0;
for (HashMap.Entry<String, String> pair : map.entrySet()) {
String value = pair.getValue();
String[] subValue;
subValue = value.split(" - ");
if (subValue[1].equals(name))
nameCounter++;
}
return nameCounter;
}
public static int getCountTheSameLastName(HashMap<String, String> map, String lastName) {
int lastNameCounter = 0;
for (HashMap.Entry<String, String> pair : map.entrySet()) {
String value = pair.getValue();
String[] subValue;
subValue = value.split(" - ");
if (subValue[0].equals(lastName))
lastNameCounter++;
}
return lastNameCounter;
}
public static void main(String[] args) {
getCountTheSameFirstName(createMap(), "Петр");
getCountTheSameLastName(createMap(), "Бехтерев");
}
}