package com.javarush.test.level08.lesson08.task03;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;

/ Одинаковые имя и фамилия Создать словарь (Map<string, string="">) занести в него десять записей по принципу «Фамилия» - «Имя». Проверить сколько людей имеют совпадающие с заданным имя или фамилию. /

public class Solution {
    public static HashMap<String, String> createMap() {
        //напишите тут ваш код
        HashMap<String, String> map = new HashMap<String, String>();
    map.put("Ахмедьянова", "Эльвира");
    map.put("Ахмедьянова1", "Эльвира");
    map.put("Ахмедьянова", "Эльвира2");
    map.put("Ахмедьянова1", "Эльвира1");
    map.put("Ахмедьянова2", "Эльвира1");
    map.put("Ахмедьянова2", "Эльвира2");
    map.put("Ахмедьянова2", "Эльвира");
    map.put("Ахмедьянова1", "Эльвира2");
    map.put("Ахмедьянова", "Эльвира1");
    map.put("Ахмедьянова12", "Эльвира");

    return map;
}

public static int getCountTheSameFirstName(HashMap<String, String> map, String name) {
    //напишите тут ваш код
    Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
    int x = 0;
    while (iterator.hasNext()) if (map.equals("Ахмедьянова")) x++;

    return x;

}

public static int getCountTheSameLastName(HashMap<String, String> map, String lastName) {
    //напишите тут ваш код
    Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
    int y = 0;
    while (iterator.hasNext()) if (map.equals("Эльвира")) y++;
    return y;

}

}

задан 27 Окт '16, 10:09

iteaky's gravatar image

iteaky
72
одобрено: 0%

закрыто 13 Сен, 15:35

AndyRad's gravatar image

AndyRad
13.1k29

Вопрос был закрыт по следующей причине: "Problem is not reproducible or outdated" AndyRad 13 Сен, 15:35


  1. FirstName - это имя.
  2. В map добавляется только 4 записи. Ключ в map должен быть уникальным, при попытке добавить запись с ключом, который уже есть в map, предыдущая запись затирается.
  3. В методах getCountTheSameFirstName() и getCountTheSameLastName() Iterator используется неправильно. Почитайте еще раз внимательно урок 2.
ссылка

опубликован 27 Окт '16, 10:40

WinVam's gravatar image

WinVam
6.3k15
одобрено: 57%

package com.javarush.test.level08.lesson08.task03;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;

/ Одинаковые имя и фамилия Создать словарь (Map<string, string="">) занести в него десять записей по принципу «Фамилия» - «Имя». Проверить сколько людей имеют совпадающие с заданным имя или фамилию. /

public class Solution {
    public static HashMap<String, String> createMap() {
        //напишите тут ваш код
        HashMap<String, String> map = new HashMap<String, String>();

        map.put("Ахмедьянова12", "Эльвира");
        map.put("Ахмедьянова11", "Эльвира");
        map.put("Ахмедьянова10", "Эльвира2");
        map.put("Ахмедьянова9", "Эльвира1");
        map.put("Ахмедьянова8", "Эльвира1");
        map.put("Ахмедьянова7", "Эльвира2");
        map.put("Ахмедьянова6", "Эльвира");
        map.put("Ахмедьянова5", "Эльвира2");
        map.put("Ахмедьянова4", "Эльвира1");
        map.put("Ахмедьянова", "Эльвира");

        return map;
    }

    public static int getCountTheSameFirstName(HashMap<String, String> map, String name) {
        //напишите тут ваш код
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
        int x = 0;
        while (iterator.hasNext()) 
        {
            Map.Entry<String,String> pair = iterator.next();
            String value = pair.getValue();
            if (value.equals("Эльвира")) x++;

        }
        return x;

    }

    public static int getCountTheSameLastName(HashMap<String, String> map, String lastName) {
        //напишите тут ваш код
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
        int y = 0;
        while (iterator.hasNext()) 
         {
            Map.Entry<String,String> pair = iterator.next();
            String key = pair.getKey();
            if (key.equals("Ахмедьянова"))
            y++;

        }
        return y;

    }

}

поменял итератор, сделал все ключи уникальними. Не проходит

ссылка

опубликован 27 Окт '16, 10:58

iteaky's gravatar image

iteaky
72
одобрено: 0%

Подумайте для чего в методы getCountTheSameFirstName() и getCountTheSameLastName() передается второй параметр.

(27 Окт '16, 11:05) WinVam

Спасибо, все получилось! )

ссылка

опубликован 27 Окт '16, 12:00

iteaky's gravatar image

iteaky
72
одобрено: 0%

Если вопрос решен, его нужно закрыть.

(27 Окт '16, 12:09) WinVam

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×3,808
×72

Задан: 27 Окт '16, 10:09

Просмотров: 225 раз

Отредактирован: 13 Сен, 15:35