package com.javarush.task.task08.task0803;
import java.util.HashMap;
import java.util.Map;
/*
Коллекция Map из котов
*/
public class Solution {
public static void main(String[] args) throws Exception {
String[] cats = new String[]{"васька", "мурка", "дымка", "рыжик", "серый", "снежок", "босс", "борис", "визя", "гарфи"};
Map<String, Cat> map = addCatsToMap(cats);
for (Map.Entry<String, Cat> pair : map.entrySet()) {
System.out.println(pair.getKey() + " - " + pair.getValue());
}
}
public static Map<String, Cat> addCatsToMap(String[] cats) {
//напишите тут ваш код
Cat[] cats = new Cat[10];
Map <String, Cat> map = new HashMap <String, Cat>();
for (int i = 0; i < cats.length; i++)
{
Cat cat = new Cat(cats[i]);
map.put(cats[i]);
}
}
public static class Cat {
String name;
public Cat(String name) {
this.name = name;
}
@Override
public String toString() {
return name != null ? name.toUpperCase() : null;
}
}
}
Anonymous #2053422
16 уровень
Правильно ли я понял?
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
27 февраля 2020, 08:43
Коллекция map, о которой ещё ничего не известно, должна быть обработана методом addCatsToMap
Ничем она не должна быть обработана. Метод add CatsToMap должен создать (на основе массива cats) и вернуть коллекцию. Именно то, что он вернет, и будет присвоено переменной map.
У тебя же этот метод ничего не возвращает. Зато зачем-то в нем ты пытаешься создать ненужный массив котов, к тому же с именем переменной, которое уже используется.
И в коллекцию ты пытаешься добавить только кота (то есть значение), без ключа.
0
Anonymous #2053422
28 февраля 2020, 00:58
В общем всё понял правильно. Намёк на возвращаемые данные позволил дотумкать. Но, кое-что по прежнему непонятно. Метод, вроде как, должнен выглядеть:
Модификаторы доступа ИмяМетода(параметры);
Почему здесь после модификатороы и перед именем Map<String, Cat>?
0
Ksenia VolkovaJava Developer в DXCMaster
28 февраля 2020, 06:12
Потому что на самом деле метод выглядит так:
+4