• ,

Робята на помощь. Не принимает задачу. Кошачье семейство.

Ребята условие задачи выполнил. Не принимает. Нашел лишние пробелы лишние, возрадовался, удалил, а тест все равно не проходит. Укажите слепцу где я оступился!
  • ,

level19.lesson03.task03 не проходит тестирование

/* Адаптация нескольких интерфейсов
Адаптировать IncomeData к Customer и Contact.
Классом-адаптером является IncomeDataAdapter.
Инициализируйте countries перед началом выполнения программы. Соответствие кода страны и названия:
UA Ukraine
RU Russia
CA Canada
Дополнить телефонный номер нулями до 10 цифр при необходимости (смотри примеры)
Обратите внимание на формат вывода фамилии и имени человека
*/

import java.util.HashMap;
import java.util.Map;

public class Solution {
    public static Map<String, String> countries = new HashMap<String, String>();

    public static Map<String, String> getCountries()
    {
        countries.put("UA", "Ukraine");
        countries.put("RU", "Russia");
        countries.put("CA", "Canada");
        return countries;
    }
    static {
        getCountries();
    }

    public static class IncomeDataAdapter implements Contact, Customer{
        private IncomeData incomeData;

        IncomeDataAdapter(IncomeData incomeData){
            this.incomeData = incomeData;
        }

        @Override
        public String getName() {
            return String.format("%s, %s", this.incomeData.getContactLastName(), this.incomeData.getContactFirstName());
        }

        @Override
        public String getPhoneNumber() {
            String number = Integer.toString(this.incomeData.getPhoneNumber());
            while(number.length() < 10){
                number = 0 + number;
            }
            String phoneNumber = String.format("+%d(%s)%s-%s-%s", this.incomeData.getCountryPhoneCode(),
                    number.substring(0, 3),
                    number.substring(3, 6),
                    number.substring(6, 8),
                    number.substring(8));
            return phoneNumber;
        }

        @Override
        public String getCompanyName() {
            return this.incomeData.getCompany();
        }

        @Override
        public String getCountryName() {
            return getCountries().get(this.incomeData.getCountryCode());
        }
    }

    public static interface IncomeData {
        String getCountryCode();        //example UA

        String getCompany();            //example JavaRush Ltd.

        String getContactFirstName();   //example Ivan

        String getContactLastName();    //example Ivanov

        int getCountryPhoneCode();      //example 38

        int getPhoneNumber();           //example 501234567
    }

    public static interface Customer {
        String getCompanyName();        //example JavaRush Ltd.

        String getCountryName();        //example Ukraine
    }

    public static interface Contact {
        String getName();               //example Ivanov, Ivan

        String getPhoneNumber();        //example +38(050)123-45-67
    }
}


Вывод, вроде, как в образце, но тестирование не проходит. Никак не могу разобраться, что не нравится серверу.
  • ,

javarush.test.level18.lesson10.home10 - не проходит тестирование, помогите!

Не могу понять что не так, все работает как надо же…

/* Собираем файл
Собираем файл из кусочков
Считывать с консоли имена файлов
Каждый файл имеет имя: [someName].partN. Например, Lion.avi.part1, Lion.avi.part2, ..., Lion.avi.part37.
Имена файлов подаются в произвольном порядке. Ввод заканчивается словом «end»
В папке, где находятся все прочтенные файлы, создать файл без приставки [.partN]. Например, Lion.avi
В него переписать все байты из файлов-частей используя буфер.
Файлы переписывать в строгой последовательности, сначала первую часть, потом вторую, ..., в конце — последнюю.
Закрыть потоки. Не использовать try-with-resources
*/

import java.io.*;
import java.util.Set;
import java.util.TreeSet;

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        Set<String> treeSet = new TreeSet<>();
        String inputFileName;

        while (!"end".equals(inputFileName = reader.readLine())){
                    treeSet.add(inputFileName);
        }

        reader.close();

        FileInputStream inputStream = null;
        FileOutputStream outputStream = new FileOutputStream(
                new File(treeSet.iterator().next().substring(0, 
                        treeSet.iterator().next().indexOf(".part"))));

        for (String s : treeSet) {
            inputStream = new FileInputStream(s);
            while (inputStream.available() > 0) {
                outputStream.write(inputStream.read());
            }
        }

        inputStream.close();
        outputStream.close();
    }
}

Коректно работает,но не проходит проверку

Ввод:
дідо
баба
тато
мама
син
дочка

вивод:
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 тато

Process finished with exit code 0

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 GrandFatherName = reader.readLine();
        Cat GrandcatFather = new Cat(GrandFatherName,null,null);

        String GrandmotherName = reader.readLine();
        Cat GrandCatMother = new Cat(GrandmotherName,null,null);

        String FatherName = reader.readLine();
        Cat catFather = new Cat(FatherName,GrandcatFather,null);

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

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

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



        System.out.println(GrandcatFather);
        System.out.println(GrandCatMother);
        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 father;
        private Cat mother;

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



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

            }


                if(mother ==null&&father!=null) {
                    return "Cat name is " + this.name + ", no mother," + " father is " + father.name;
                }
            if(father==null&&mother!=null) {
                return "Cat name is " + this.name + ", mother is " + mother.name + ", no father";
            }
            return  "Cat name is " + this.name + ", mother is " + mother.name + ", father is "+father.name;

        }
    }

}

  • ,

level06.lesson11.bonus02 не проходит тест

/* Нужно добавить в программу новую функциональность
Задача: У каждой кошки есть имя и кошка-мама. Создать класс, который бы описывал данную ситуацию. Создать два объекта: кошку-дочь и кошку-маму. Вывести их на экран.
Новая задача: У каждой кошки есть имя, кошка-папа и кошка-мама. Изменить класс 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 grandfatherName = reader.readLine();
        Cat catGrandfather = new Cat(grandfatherName, null, null);

        String grandmotherName = reader.readLine();
        Cat catGrandmother = new Cat(grandmotherName, null, null);

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

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

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

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

        System.out.println(catGrandfather);
        System.out.println(catGrandmother);
        System.out.println(catFather);
        System.out.println(catMother);
        System.out.println(catSon);
        System.out.println(daughterSon);

    }

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

        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 (father == null)
                return "Cat name is " + name + ", mother is " + mother.name + ", no father";
            else if (mother == null)
                return "Cat name is " + name + ", no mother, father is " + father.name;
            else
                return "Cat name is " + name + ", mother is " + mother.name + ", father is " + father.name;
        }
    }

}


В Idea все отрабатывает как надо, тест на сервере не проходит. Помогите замыленному глазу найти ошибку.
  • ,

javarush.test.level17.lesson10.bonus01 - Видимо, проблема с кодировкой!

У меня вот не читает третий параметр «м». Записываю в Program arguments -c Миронов м 15/04/1990, вот он, третий параметр «м», но не читает, что-то с кодировкоий может… внизу справа поставил UTF-8. Ниже блок кода TESTING выдает вот такой результат:

2

-c
Миронов
м
15/04/1990

Иванов Иван м 10/03/2016
Петров Петр м 10/03/2016
Миронов ж 15/04/1990

где 2 — id, потом идет перечень записанных в строку параметров, а потом новый список людей, и как видите, Миронов поменял стать. Помогите понять почему не воспринимает символ!

Условие:

/* CRUD
CrUD — Create, Update, Delete
Программа запускается с одним из следующих наборов параметров:
-c name sex bd
-u id name sex bd
-d id
-i id
Значения параметров:
name — имя, String
sex — пол, «м» или «ж», одна буква
bd — дата рождения в следующем формате 15/04/1990
-c — добавляет человека с заданными параметрами в конец allPeople, выводит id (index) на экран
-u — обновляет данные человека с данным id
-d — производит логическое удаление человека с id
-i — выводит на экран информацию о человеке с id: name sex (м/ж) bd (формат 15-Apr-1990)

id соответствует индексу в списке
Все люди должны храниться в allPeople
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

Пример параметров: -c Миронов м 15/04/1990
*/

package com.javarush.test.level17.lesson10.bonus01;

import java.text.*;
import java.util.*;

public class Solution {
    public static List<Person> allPeople = new ArrayList<Person>();
    static {
        allPeople.add(Person.createMale("Иванов Иван", new Date()));  //сегодня родился    id=0
        allPeople.add(Person.createMale("Петров Петр", new Date()));  //сегодня родился    id=1
    }

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);

        // -c - Create
        if (args[0].equals("-c")){
            Person person;
            String name = name(args);
            if (args[args.length - 2].equals('м')) person = Person.createMale(name, dateFormat.parse(args[args.length - 1]));
            else person = Person.createFemale(name, dateFormat.parse(args[args.length - 1]));
            allPeople.add(person);
            System.out.println(allPeople.indexOf(person));
            //**********************************************************************************************************

            // -u- Update
        } else if (args[0].equals("-u")){
            if (args[args.length - 2].equals('м')) {
                allPeople.get(Integer.parseInt(args[1])).setSex(Sex.MALE);
            } else {
                allPeople.get(Integer.parseInt(args[1])).setSex(Sex.FEMALE);
            }
            allPeople.get(Integer.parseInt(args[1])).setBirthDay(dateFormat.parse(args[args.length - 1]));
            //**********************************************************************************************************

            // -d - Delete
        } else if (args[0].equals("-d")){
            if (args.length != 2) return;
            allPeople.get(Integer.parseInt(args[1])).setBirthDay(null);
            //**********************************************************************************************************

            // -i- Information
        } else if (args[0].equals("-i")){
            dateFormat = new SimpleDateFormat("dd-MMM-YYYY", Locale.ENGLISH);
            allPeople.get(Integer.parseInt(args[1]));
            System.out.println(allPeople.get(Integer.parseInt(args[1])).getName()
                    + " " + (allPeople.get(Integer.parseInt(args[1])).getSex() == Sex.MALE ? 'м' : 'ж')
                    + " " + dateFormat.format(allPeople.get(Integer.parseInt(args[1])).getBirthDay()));
        }
        //**************************************************************************************************************

        // TESTING
        System.out.println();
        for (String s : args) {
            System.out.println(s);
        }

        System.out.println();
        for (Person p : allPeople) {
            System.out.println(p.getName() + " " + (p.getSex() == Sex.MALE ? 'м' : 'ж') + " " + dateFormat.format(p.getBirthDay()));
        }
        //**************************************************************************************************************
    }

    public static String name(String[] consoleArgs){
        String name = "";
        for (int i = 1; i <= consoleArgs.length - 3; i++) {
            name += consoleArgs[i];
            if (i == (consoleArgs.length - 3)) continue;
            name += " ";
        }
        return name;
    }
}

level19.lesson10.home05 не проходит тест

package com.javarush.test.level19.lesson10.home05;

/* Слова с цифрами
В метод main первым параметром приходит имя файла1, вторым - файла2.
Файл1 содержит строки со слов, разделенные пробелом.
Записать через пробел в Файл2 все слова, которые содержат цифры, например, а1 или abc3d
Закрыть потоки. Не использовать try-with-resources
*/

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader fileReader = new BufferedReader(new FileReader(args[0]));   //читем с...
        BufferedWriter fileWriter = new BufferedWriter(new FileWriter(args[1]));   // пишем в...

        Pattern pattern = Pattern.compile("([a-zA-Zа-яА-Я]+\\d+[a-zA-Zа-яА-Я\\d]*)|" +
                "(\\d+[a-zA-Zа-яА-Я]+[a-zA-Zа-яА-Я\\d]*)");
        /*
        регулярка
        [a-zA-Zа-яА-Я]+  - не менее одной буквы латинской или кириллицы (но можно больше)
        \\d+              - не менее одной цифры после буквы          (можно больше)
        [a-zA-Zа-яА-Я\\d]* - произвольное к-во букв и цифр
        отличие второй строчки - она начинается с цифры (цифр)
        регулярное выражение тестил на http://regexr.com
        */


        String line;                                         //строка для чтения в буффер
        while ((line = fileReader.readLine())!=null){              // прочли, присвоили, проверили, что есть что читать
            Matcher matcher = pattern.matcher(line);               // сравниваю
                while (matcher.find()){                            // пока совпадения есть....
            fileWriter.write(matcher.group()+" ");          // записываю в файл эти совпадения
            }
        }
        fileWriter.flush();                               // записал,закрыл
        fileWriter.close();
        fileReader.close();
    }
}


тест не проходит. единственная мысль — что -то с пробелами при тесте. regexr.com — тестил регулярку
  • ,

com.javarush.test.level08.lesson08.task04

Программа не проходит тестирование.

У меня JDK 1.8.0_73. Для этой версии уже устарели конструкции вида
new Date(String)
Date.getMonth()

В документации Oracle сказано, что нужно использовать Calendar, что я и делаю.

    public class Solution 
    {
    public static HashMap<String, Date> createMap()
    {
        HashMap<String, Date> map = new HashMap<String, Date>();
        Calendar calendar = Calendar.getInstance();

        calendar.set(1980,Calendar.JULY,1);
        map.put("Stallone", calendar.getTime());

        calendar.set(1975,Calendar.JUNE,2);
        map.put("Stallone2", calendar.getTime());

        calendar.set(1960,Calendar.AUGUST,25);
        map.put("Stallone3", calendar.getTime());

        calendar.set(1956,Calendar.APRIL,10);
        map.put("Stallone4", calendar.getTime());

        calendar.set(1986,Calendar.JANUARY,20);
        map.put("Stallone5", calendar.getTime());

        calendar.set(1945,Calendar.SEPTEMBER,1);
        map.put("Stallone6", calendar.getTime());

        calendar.set(1935,Calendar.OCTOBER,5);
        map.put("Stallone7", calendar.getTime());

        calendar.set(1988,Calendar.DECEMBER,12);
        map.put("Stallone8", calendar.getTime());

        calendar.set(1990,Calendar.FEBRUARY,12);
        map.put("Stallone9", calendar.getTime());

        calendar.set(1995,Calendar.APRIL,10);
        map.put("Stallone10", calendar.getTime());

        return map;
    }

    public static void removeAllSummerPeople(HashMap<String, Date> map)
    {
        Iterator<Map.Entry<String, Date>> iterator = map.entrySet().iterator();
        Calendar calendar = Calendar.getInstance();

        while(iterator.hasNext()) {
            Map.Entry<String, Date> pair = iterator.next();
            calendar.setTime(pair.getValue());

            if (calendar.MONTH > 4 && calendar.MONTH < 8)
                iterator.remove();
        }
    }
}

Но программа не проходит тестирование на сервере. Как быть?

level08.lesson11.home09 - Работает,но не проходит тестирование. Помогите!

import java.util.Date;

import static java.lang.System.out;

/* Работа с датой
1. Реализовать метод isDateOdd(String date) так, чтобы он возвращал true, если количество дней с начала года — нечетное число, иначе false
2. String date передается в формате MAY 1 2013
Не забудьте учесть первый день года.
Пример:
JANUARY 1 2000 = true
JANUARY 2 2020 = false
*/

public class Solution
{
public static void main(String[] args)
{

isDateOdd(«JANUARY 1 2016»);
}

public static boolean isDateOdd(String date)
{
Date StartDate = new Date(«JANUARY 1 2016»);
StartDate.setDate(0);
StartDate.setMonth(0);
Date currentDate = new Date(date);
long msTimeDistance = currentDate.getTime() — StartDate.getTime();
long msDay = 24 * 60 * 60 * 1000;
int n = (int) (msTimeDistance/msDay);
boolean x;
if (n%2==0)
{
x=false;
System.out.println(date + " = "+ x);
}
else
{
x = true;
System.out.println(date + " = "+ x);
}
return x;
}
}

Работает, как надо, но не проходит тестирование. Помогите пожалуйста!

level08.lesson11.home09 - Работает,но не проходит тестирование. Помогите!

import java.util.Date;

import static java.lang.System.out;

/* Работа с датой
1. Реализовать метод isDateOdd(String date) так, чтобы он возвращал true, если количество дней с начала года — нечетное число, иначе false
2. String date передается в формате MAY 1 2013
Не забудьте учесть первый день года.
Пример:
JANUARY 1 2000 = true
JANUARY 2 2020 = false
*/

public class Solution
{
public static void main(String[] args)
{

isDateOdd(«JANUARY 1 2016»);
}

public static boolean isDateOdd(String date)
{
Date StartDate = new Date(«JANUARY 1 2016»);
StartDate.setDate(0);
StartDate.setMonth(0);
Date currentDate = new Date(date);
long msTimeDistance = currentDate.getTime() — StartDate.getTime();
long msDay = 24 * 60 * 60 * 1000;
int n = (int) (msTimeDistance/msDay);
boolean x;
if (n%2==0)
{
x=false;
System.out.println(date + " = "+ x);
}
else
{
x = true;
System.out.println(date + " = "+ x);
}
return x;
}
}

Работает, как надо, но не проходит тестирование. Помогите пожалуйста!

test.level06.lesson11.bonus02

Нашел на сайте кучу вопросов, но нигде нет решения

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

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

        String GranPaName = reader.readLine();
        Cat catGranPa = new Cat(GranPaName);

        String GrannyName = reader.readLine();
        Cat catGranny = new Cat(GrannyName);

        String MotherName = reader.readLine();
        Cat catMother = new Cat(MotherName, catGranny, null);

        String FatherName = reader.readLine();
        Cat catFather = new Cat(FatherName, null,catGranPa);

        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(catGranPa);
        System.out.println(catGranny);
        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(father == null && mother == null)
                return "Cat name is " + name + ", no mother, no father ";
            else if (mother == null && father != null)
                return "Cat name is " + name + ", no mother "+ ", father is " + father.name;
            else if(father == null && mother != 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;
        }
    }

}
  • ,

Все коректно работает,но не проходит!)

Идея такая, когда кидает исключение о том что клас не найден, виводим сообщение и пользуемся рекурсией
package com.javarush.test.level09.lesson11.bonus02;

import java.io.*;

/* Нужно добавить в программу новую функциональность
Задача: Программа вводит два имени файла. И копирует первый файл на место, заданное вторым именем.
Новая задача: Программа вводит два имени файла. И копирует первый файл на место, заданное вторым именем.
Если файла (который нужно копировать) с указанным именем не существует, то
программа должна вывести надпись «Файл не существует.» и еще раз прочитать имя файла с консоли, а уже потом считывать файл для записи.
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {


      help();

        }

    private static void help()throws IOException{



        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String sourceFileName = reader.readLine();
        String destinationFileName = reader.readLine();
try {
    FileInputStream fileInputStream = new FileInputStream(sourceFileName);
    FileOutputStream fileOutputStream = new FileOutputStream(destinationFileName);

        while (fileInputStream.available() > 0)
        {
            int data = fileInputStream.read();
            fileOutputStream.write(data);
        }

        fileInputStream.close();
        fileOutputStream.close();
}catch (FileNotFoundException e){
    System.out.println("Файл не существует.");
    help();
}
    }
}