• ,

level06.lesson11.bonus02

Приветствую, коллеги. Компилируется без ошибок, работает, тест не проходит, никак не могу найти проблему.
Спасибо всем за внимание.

package com.javarush.test.level06.lesson11.bonus02;

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

/* Нужно добавить в программу новую функциональность
Задача: У каждой кошки есть имя и кошка-мама. Создать класс, который бы описывал данную ситуацию. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран.
Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама. Изменить класс Cat так, чтобы он мог описать данную ситуацию.
Создать 6 объектов: дедушку(папин папа), бабушку(мамина мама), папу, маму, сына, дочь.
Вывести их всех на экран в порядке: дедушка, бабушка, папа, мама, сын, дочь.

Пример ввода:
дедушка Вася
бабушка Мурка
папа Котофей
мама Василиса
сын Мурчик
дочь Пушинка

Пример вывода:
Cat name is дедушка Вася, no mother, no father
Cat name is бабушка Мурка, no mother, no father
Cat name is папа Котофей, no mother, father is дедушка Вася
Cat name is мама Василиса, mother is бабушка Мурка, no father
Cat name is сын Мурчик, mother is мама Василиса, father is папа Котофей
Cat name is дочь Пушинка, mother is мама Василиса, father is папа Котофей
*/

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

        String gmotherName = reader.readLine();
        Cat catGMother = new Cat(gmotherName);

        String fatherName = reader.readLine();
        Cat catFather = new Cat(fatherName,null, catGFather);

        String motherName = reader.readLine();
        Cat catMother = new Cat(motherName, catGMother, null);

        String sonName = reader.readLine();
        Cat catSon = new Cat(sonName, catMother, catFather);

        String daughterName = reader.readLine();
        Cat catDaughter = new Cat(daughterName, catMother, catFather);

        System.out.println(catGFather);
        System.out.println(catGMother);
        System.out.println(catFather);
        System.out.println(catMother);
        System.out.println(catSon);
        System.out.println(catDaughter);
    }

    public static class Cat
    {
        private String name;
        private Cat mother;
        private Cat father;

        Cat(String name)
        {
            this.name = name;

        }

        Cat(String name, Cat mother, Cat father)
        {
            this.name = name;
            this.mother = mother;
            this.father = father;
        }


        @Override
        public String toString()
        {
            if ((mother == null)&&(father == null))
                return "Cat name is " + name + ", no mother"+", no father";
            else if (mother == null)
                return "Cat name is " + name + ", no mother"+", father is " + father.name;
            else if (father ==null)
                return "Cat name is " + name + ", mother is " + mother.name+", no father";
            else
                return "Cat name is " + name + ", mother is " + mother.name+", father is " + father.name;



        }
    }

}

Все сделано,но видимо не так как хочет великий сервер. Помогите разобраться.

public static void main(String[] args) throws Exception
    {
        BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
        int summa = 0;
        int i = 0;
        one:
        while(i < 1)
        {
            String vvod = read.readLine();
            if(vvod.equals("сумма"))
            {

                System.out.println(summa);
                continue one;

            }
            else
            {
                int n = Integer.parseInt(vvod);
                summa +=n;
            }
        }

    }


Я не знаю, может быть нужно сделать, что бы после каждого подсчета (сумма) сумма сбрасывалась. Но если добавить после вывода суммы сброс (summa = 0) то сервак все равно не принимает. Никакого порыва к творчеству, нужно делать так, как требует великий и могучий… Печалька.
  • ,

package com.javarush.test.level08.lesson11.home02;

Здравствуйте. Подскажите почему не проходит проверку следующий код? Результат компилится правильно.

package com.javarush.test.level08.lesson11.home02;

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

/* Множество всех животных
1. Внутри класса Solution создать public static классы Cat, Dog.
2. Реализовать метод createCats, котороый должен возвращать множество с 4 котами.
3. Реализовать метод createDogs, котороый должен возвращать множество с 3 собаками.
4. Реализовать метод join, котороый должен возвращать объединенное множество всех животных - всех котов и собак.
5. Реализовать метод removeCats, котороый должен удалять из множества pets всех котов, которые есть в множестве cats.
6. Реализовать метод printPets, котороый должен выводить на экран всех животных, которые в нем есть. Каждое животное с новой строки
*/

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

        Set<Object> pets = join(cats, dogs);
        printPets(pets);

        removeCats(pets, cats);
        printPets(pets);
    }

    public static Set<Cat> createCats()
    {
        HashSet<Cat> result = new HashSet<Cat>();
        //напишите тут ваш код
        for (int i=0; i<4; i++)
        {
            result.add(new Cat());
        }
        return result;
    }

    public static Set<Dog> createDogs()
    {
        //напишите тут ваш код
        HashSet<Dog> result = new HashSet<Dog>();
        for (int i=0; i<3; i++)
        {
            result.add(new Dog());
        }
        return result;
    }

    public static Set<Object> join(Set<Cat> cats, Set<Dog> dogs)
    {
        //напишите тут ваш код
        HashSet<Object> pets = new HashSet<Object>();
        {
            pets.add(cats);
            pets.add(dogs);
        }
        return pets;
    }

    public static void removeCats(Set<Object> pets, Set<Cat> cats)
    {
        //напишите тут ваш код
        for (Iterator<Object> iterator = pets.iterator();iterator.hasNext();)
        {
            Object curObj = iterator.next();
            if (curObj.toString().contains(cats.toString()))
            {
                pets.remove(curObj);
            }
        }
    }

    public static void printPets(Set<Object> pets)
    {
        //напишите тут ваш код
        for (Object x : pets)
        {
            System.out.println(x.toString());
        }
    }

    //напишите тут ваш код
    public static class Dog
    {
    }

    public static class Cat
    {
    }
}
  • ,

test.level07.lesson04.task01

package com.javarush.test.level07.lesson04.task01.task1;

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

public class Sours {
public static void main(String[] args) throws Exception
{
int[] array = initializeArray();
int max = max(array);
System.out.println(max);
}
public static int[] initializeArray() throws IOException {
int[] mass =new int[20];
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for(int i = 0; i < mass.length; i ++)
{mass[i]= Integer.parseInt(reader.readLine());}
return mass;
}

public static int max(int[] array) {
int max = array[0];
for(int i = 0; i < array.length; i++)
{
for(int j = 0; j < array.length; j++)
{
if(max<array[j])
{
max = array[j];
}
}
}
return max;
}

}

отдебажил код в eclipse. Все отлично наибольшие число находить. Но задача сервером не тестируется( что я не так сделал?
  • ,

package com.javarush.test.level07.lesson09.task05;

Помогите мне, код не проходит проверку
package com.javarush.test.level07.lesson09.task05;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

/* Удвой слова
1. Введи с клавиатуры 10 слов в список строк.
2. Метод doubleValues должен удваивать слова по принципу a,b,c -> a,a,b,b,c,c.
3. Используя цикл for выведи результат на экран, каждое значение с новой строки.

Мой пример
Ввод:
    Один
    Два
    Три
    Четыре
    Пять
    Шесть
    Семь
    Восемь
    Девять
    Десять
Вывод:
    Один
    Один
    Два
    Два
    Три
    Три
    Четыре
    Четыре
    Пять
    Пять
    Шесть
    Шесть
    Семь
    Семь
    Восемь
    Восемь
    Девять
    Девять
    Десять
    Десять

*/

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        //read strings and init ArrayList list here - считать строки с консоли и объявить ArrayList list тут

        ArrayList<String> list = new ArrayList<String>();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        for (int i = 0; i < 10; i++)
        {
            list.add(bufferedReader.readLine());
        }

        ArrayList<String> result = doubleValues(list);

        for (String s:result)
        {
            System.out.println(s);
        }
    }

    public static ArrayList<String> doubleValues(ArrayList<String> list)
    {
        int k = 0;
        int x = 0;
        int size = list.size();
        while(k != size)
        {
            String string = list.get(x);
            list.add(x, string);
            x+=2;
            k++;
        }
        return list;
    }
}
  • ,

package com.javarush.test.level06.lesson11.bonus03;

Почему не проходит задача?

package com.javarush.test.level06.lesson11.bonus03;

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

/* Задача по алгоритмам
Задача: Написать программу, которая вводит с клавиатуры 5 чисел и выводит их в возрастающем порядке.
Пример ввода:
3
2
15
6
17
Пример вывода:
2
3
6
15
17
*/

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        int[] a = new int[5];

        for(int i=0; i<5; i++)
        {
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            a[i] = Integer.parseInt(bufferedReader.readLine());
        }

        for(int i=0; i<a.length; i++)
        {
            for(int j=0; j<a.length; j++)
            {

                if(a[i]<a[j])
                {
                    int k = a[i];
                    a[i] = a[j];
                    a[j] = k;
                }
            }
        }

        for(int i=0; i<a.length; i++)
        {
            System.out.println(a[i]);
        }
    }
}
  • ,

level08.lesson08.task03

Что не так?


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("Pushkin","Alexander");//1
        map.put("Lermontov","Mikhail");//2
        map.put("Tolstoy","Aleksey");//3
        map.put("Bukovsky","Charles");//4
        map.put("Tolstoy","Nikolay");//5
        map.put("Presley", "Elvis");//6
        map.put("Jackson", "Michael");//7
        map.put("Jobs", "Steve");//8
        map.put("Gates", "Bill");//9
        map.put("Connor", "John");//10

        return map;
    }

    public static int getCountTheSameFirstName(HashMap<String, String> map, String name)
    {
        int count=0;
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();

        while(iterator.hasNext())
        {
            Map.Entry<String, String> pair = iterator.next();
            String FirstName = pair.getValue();
            if (FirstName == name) count++;
        }
          return count;
    }

    public static int getCountTheSameLastName(HashMap<String, String> map, String familiya)
    {
        //Напишите тут ваш код
        int count=0;
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();

        while(iterator.hasNext())
        {
            Map.Entry<String, String> pair = iterator.next();
            String LastName = pair.getKey();
            if (LastName == familiya) count++;
        }
        return count;
    }
}

EPAM-systems(Киев), ЕТАП2 - письменное тестирование 2014

  1. Есть продьюсер и консьюмер(Producer, Consumer).
    Один produser создает за 1 секунду 1 сообщение и кладет его в буфер обмена.
    Consumer обрабатывает 1 сообщение за 2 секунды и забирает его из буфера.
    Максимальная вместимость буфера — 80 сообщений.
    Какое минимальное число консьюмеров нужно для того
    чтобы не произошло переполнения буфера, если 10 priduser-ов работают 10 секунд?
  2. Глава и хвост поезда соеденены.
    В каждом вагоне есть лампочка которая может быть вкл/выкл (рэндомно).
    Вы находитеть внутри случайного вагона.
    Определите длину поезда если можно делать следуещее:
    узнавать состояние лампочки getLightsStatus(),
    включать/выключать лампочку setLightsOn()/setLightsOff(),
    ходить по поезду влево/в право moveLeft()/moveRight(). Лампочку бить НЕЛЬЗЯ!
    Создать структуру данных которая в которой бы реализовались все описанные методы.
  3. Снова поезд, на словах обьяснить будет трудно.
    Теперь у поезда n вагонов(9). Пронумерованы они от 1 — 9 в случайном порядке.
    Станции прибытия пронумерованы от 1 — 9 (в порядке возрастания).
    На каждой станции от поезда должны отсоединяться вагоны с соответсвующим номером.
    Нужно написать функции для сортировки вагонов.
    Теперь самое интересное(предупреждаю мог не правильно понять задание):
    Унас есть Input track, к примеру: [3,1,5,4,6,7,8,2,9].
    Output track, в котором должно получиться: [1,2,3,4,5,6,7,8,9]
    (типа голова поезда справа). Есть еще k=3 вспомогательные колии(H1,H2,H3)
    в которые могут заезжать вагоны для сортирования.
    Заезжать и выезжать они могут туда по принцыпу FILO (cтек),
    вместительность колий, если не ошибаюсь неограничена.
  4. Дан метод перемножения матриц, на основе распаралелливание
    посчитать, сколько нужно ядер, чтобы ускорить этот процесс в 100 раз
    размерность матрицы 1000 * 1000

level18.lesson10.home06

Уже все варианты перепробовал. Не принимает и все. Может с тестом беда?

/* Встречаемость символов
Программа запускается с одним параметром — именем файла, который содержит английский текст.
Посчитать частоту встречания каждого символа.
Отсортировать результат по возрастанию кода ASCII (почитать в инете). Пример: ','=44, 's'=115, 't'=116
Вывести на консоль отсортированный результат:
[символ1] частота1
[символ2] частота2
Закрыть потоки

Пример вывода:
, 19
— 7
f 361
*/


import java.io.FileInputStream;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;

public class Solution {
    public static void main(String[] args) throws IOException
    {
        FileInputStream file = new FileInputStream(args[0]);

        TreeMap<Integer, Integer> map = new TreeMap<Integer, Integer>();

        while (file.available() > 0) {
            int i = (int) file.read();
            if (!map.containsKey(i))
            map.put(i, 1);
            else map.put(i, map.get(i) + 1);
        }

        for (Map.Entry<Integer, Integer> pair : map.entrySet()) {
            if (pair.getKey() == 10) System.out.println("\\n" + " " + pair.getValue());
            else if (pair.getKey() == 13) System.out.println("\\r" + " " + pair.getValue());
            else System.out.println((char)(int)pair.getKey() + " " + pair.getValue());
        }
        file.close();
    }
}

ТЕСТ! А ты отличишь Swift от Ruby?


Небольшой тест из 20 вопросов на узнавание языков программирования! Ну что давайте посмотрим кто сколько наберет, признаюсь я набрал всего 16. Так что есть куда рости! А сколько наберешь ты? :) Как всегда, в ожидании ваших теплых комментариев!

Дико извиняюсь за потерянную ссылку. Тест тут: http://tutorialzine.com/2014/06/guess-the-programming-language/

level05.lesson12.home04

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

Кто может подсказать, почему код не принимается на сервере?

/* <strong>Вывести на экран сегодняшнюю дату
Вывести на экран текущую дату в аналогичном виде "21 12 2012".</strong>
*/


import java.text.SimpleDateFormat;
import java.util.Date;

public class Solution
{
    public static void main(String[] args)
    {
        //Напишите тут ваш код
        Date d = new Date();
        SimpleDateFormat format1 = new SimpleDateFormat("MM dd yyyy");

        System.out.println(format1.format(d));
    }
}


результат работы программы: 05 20 2014