• ,

com.javarush.test.level08.lesson03.task05; Работает правильно

/* Вывести на экран список значений
Есть коллекция HashMap<String, String>, туда занесли 10 различных строк.
Вывести на экран список значений, каждый элемент с новой строки.
*/

Здравствуйте!
Все работает как надо, не принимает. <br />
Если использовать не сокращенную версию вывода, проблему не решает. <br />

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("Sim", "Sim");
        map.put("Tom", "Tom");
        map.put("Arbus", "Arbus");
        map.put("Baby", "Baby");
        map.put("Cat", "Cat");
        map.put("Dog", "Dog");
        map.put("Eat", "Eat");
        map.put("Food", "Food");
        map.put("Gevey", "Gevey");
        map.put("Hugs", "Hugs");

        printValues(map);
    }

    public static void printValues(Map<String, String> map)
    {
        //напишите тут ваш код
        for (Map.Entry<String,String>entry : map.entrySet())
            System.out.println(entry.getValue());
    }

}
  • ,

Помогите с решением задачи level8, lesson8, task2

Доброго времени суток.

Подскажите, что я делаю не так!

Задание:

/* Удалить все числа больше 10
Создать множество чисел(Set<Integer>), занести туда 20 различных чисел.
Удалить из множества все числа больше 10.
*/


Тело функции createSet:


HashSet<Integer> set = new HashSet<Integer>();
for (int i = 1; i <= 20; i++) set.add(new Integer(i));
return set;


Тело функции removeAllNumbersMoreThan10:


for (Integer i : set) if (i > 10) set.remove(i);
return set;


Заранее благодарен!
  • ,

level08.lesson11.home08

Решал задачу на нахождение N самых больших элементов массива.
 Решил через Arrays.sort по возрастанию. Пришлось еще элементы массива местами менять.
Хочу решить через сортировку по убыванию, но для этого нужно преобразовывать массив 
из типа int[] в тип Integer[].
 Понял, что в этом я полный чайник.
 Вопрос: Прошу пояснить или скинуть ссылку на такого вида преобразования.


public static void sort(int[] array)
    {
        Integer[]arr = ??????????
        Arrays.sort(arr, Collections.reverseOrder());
        //напишите тут ваш код
  • ,

level08.lesson11.home05

Добрый день.
Есть задача:
package com.javarush.test.level08.lesson11.home05;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/* Мама Мыла Раму. Теперь с большой буквы
Написать программу, которая вводит с клавиатуры строку текста.
Программа заменяет в тексте первые буквы всех слов на заглавные.
Вывести результат на экран.

Пример ввода:
  мама     мыла раму.

Пример вывода:
  Мама     Мыла Раму.
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();

        //напишите тут ваш код
        String[] splited = s.split(" ");
        String newString = "";
        for (int i = 0; i < splited.length; i++)
        {
            char ch = splited[i].charAt(0);
            char chUpper = splited[i].toUpperCase().charAt(0);
            String strCh = "" + ch;
            String strChUp = "" + chUpper;
            splited[i] = splited[i].replaceFirst(strCh, strChUp);
            newString = newString + splited[i] + " ";
        }
        newString = newString.trim();

        System.out.println(newString);
    }
}

В IDEA работает всё прекрасно, но не проходит тестирование. Подскажите, пожалуйста, что посмотреть?

P.S. ещё раз почитал комментарии и сделал вывод, что данную задачу нельзя решать через split, потому что не спроста указано много пробелов в вводе и выводе, так? Надо решать обязательно через toCharArray()?
  • ,

level08.lesson08.task05

Здравствуйте!
Не могу разобраться с тем, как удалить людей, имеющих одинаковые имена, в методе removeTheFirstNameDublicates
Подскажите, пожалуйста, что не так.
Код программы:
/* Удалить людей, имеющих одинаковые имена
Создать словарь (Map<String, String>) занести в него десять записей по принципу «фамилия» - «имя».
Удалить людей, имеющих одинаковые имена.
*/

public class Solution
{
    public static HashMap<String, String> createMap()
    {
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("а","л");
        map.put("б","м");
        map.put("в","н");
        map.put("г","о");
        map.put("д","п");
        map.put("е","о");
        map.put("ж","с");
        map.put("з","т");
        map.put("и","о");
        map.put("к","ф");

        return map;
    }

    public static void removeTheFirstNameDuplicates(HashMap<String, String> map)
    {
        for (Map.Entry<String, String> pair1 : map.entrySet()){
            for (Map.Entry<String, String> pair2 : map.entrySet()){
                if (pair1.getValue().equals(pair2.getValue()))
                    map.remove(pair2.getKey());
            }
        }

    }

    public static void removeItemFromMapByValue(HashMap<String, String> map, String value)
    {
        HashMap<String, String> copy = new HashMap<String, String>(map);
        for (Map.Entry<String, String> pair: copy.entrySet())
        {
            if (pair.getValue().equals(value))
                map.remove(pair.getKey());
        }
    }
}
  • ,

level08.lesson11.home01

Здравствуйте!
Задача не решается. Я так подозреваю, что в main у меня ошибка при удалении элемента из множества…
Подскажите, пожалуйста, что не так?
Код программы:

/* Set из котов
1. Внутри класса Solution создать public static класс кот – Cat.
2. Реализовать метод createCats, он должен создавать множество (Set) котов и добавлять в него 3 кота.
3. В методе main удалите одного кота из Set cats.
4. Реализовать метод printCats, он должен вывести на экран всех котов, которые остались во множестве. Каждый кот с новой строки.
*/

public class Solution
{
    public static void main(String[] args)
    {
        Set<Cat> cats = createCats();

        cats.remove(new Cat());

        printCats(cats);
    }

    public static Set<Cat> createCats()
    {
        Set<Cat> set = new HashSet<Cat>();
        set.add(new Cat());
        set.add(new Cat());
        set.add(new Cat());
        return set;
    }

    public static void printCats(Set<Cat> cats)
    {
        for (Cat cat : cats) {
            System.out.println(cat);
        }
    }

    public static class Cat{

    }
}
  • ,

com.javarush.test.level08.lesson11.bonus01;

/* Номер месяца
Программа вводит с клавиатуры имя месяца и выводит его номер на экран в виде: «May is 5 month».
*/

работает, но не проходит

public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String date1 = reader.readLine();
String date = date1 + " 1 2015";
System.out.println(date1 + " is "+isDateOdd(date)+" month");

}

public static long isDateOdd(String date)
{
Date then = new Date(date);
Date now = new Date(then.getYear(),-1,0);
long difference = (then.getTime() - now.getTime())/24/60/60/1000/30;
System.out.println(difference);
return difference;
}

}