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

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

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

        }
    }

}

  • ,

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

Идея такая, когда кидает исключение о том что клас не найден, виводим сообщение и пользуемся рекурсией
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();
}
    }
}
  • ,

level13.lesson11.home04. Помогите не могу решить! Уже 2 часа голову ломаю и пробую различные варианты.

package com.javarush.test.level13.lesson11.home04;

/* Запись в файл
1. Прочесть с консоли имя файла.
2. Считывать строки с консоли, пока пользователь не введет строку "exit".
3. Вывести абсолютно все введенные строки в файл, каждую строчку с новой стороки.
*/

import java.io.*;

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

        try {
            OutputStream outputStream = new FileOutputStream(reader.readLine());
            String Text;
            while (true) {
                Text = reader.readLine();
                if (Text.equals("exit")) break;
                
                byte[] chars = Text.getBytes();
                outputStream.write(chars);
                outputStream.write("\r\n".getBytes());
            }
            reader.close();
            outputStream.close();
        } catch(IOException e){
            e.printStackTrace();
        }
    }
}
  • ,

package com.javarush.test.level10.lesson11.home09;

Здравствуйте. Поделитесь пожалуйста своими соображениями, почему сервер не хочет принимать такое решение задачи.
Условие:
Ввести с клавиатуры в список 20 слов. Нужно подсчитать количество одинаковых слов в списке.
Результат нужно представить в виде словаря Map<String, Integer>, где первый параметр – уникальная строка,
а второй – число, сколько раз данная строка встречалась в списке.
Вывести содержимое словаря на экран.
В тестах регистр (большая/маленькая буква) влияет на результат.

Код, который идея выдала сразу:

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

        ArrayList<String> words = new ArrayList<String>();
        for (int i = 0; i < 20; i++)
        {
            words.add(reader.readLine());
        }

         Map<String, Integer> map = countWords(words);

        for (Map.Entry<String, Integer> pair : map.entrySet())
        {
            System.out.println(pair.getKey() + " " + pair.getValue());
        }
        countWords(words);
    }

    public static Map<String, Integer> countWords(ArrayList<String> list)
    {
        HashMap<String, Integer> result = new HashMap<String, Integer>();
        return result;
    }

}

Вспомнив задачу на удаление одинаковых имен в мэп, я решил также сделать и тут. Вот код моего решения:
public static Map<String, Integer> countWords(ArrayList<String> list)
    {
        HashMap<String, Integer> result = new HashMap<String, Integer>();
        HashMap<Integer, String> copy = new HashMap<Integer, String>();
        for (int i = 0; i < list.size(); i++)
        {
          copy.put(i, list.get(i));
        }
        HashMap<Integer, String> copy1 = new HashMap<Integer, String>(copy);
       for (Map.Entry<Integer, String> pair : copy.entrySet())
       {
           int count = 0;
           for (Map.Entry<Integer, String> pair2: copy1.entrySet())
           {
               if (pair.getValue().equals(pair2.getValue())) count++;
           }
           if (count > 1)
           {
               result.put(pair.getValue(), count);
           }
       }



        return result;
    }

Пример ввода/вывода (для удобства я вводил 10 слов):
раз
раз
РАЗ
РАЗ
два
два
ДВА
ДВА
дВа
дВа

раз 2
ДВА 2
два 2
РАЗ 2
дВа 2

level07.lesson06.task02

Добрый день!
Подскажите ошибку и правильность направления в котором двигаюсь?
Работает исправно, но сервер не принимает


/* Самая длинная строка
1. Создай список строк.
2. Считай с клавиатуры 5 строк и добавь в список.
3. Используя цикл, найди самую длинную строку в списке.
4. Выведи найденную строку на экран.
5. Если таких строк несколько, выведи каждую с новой строки.
*/
public class Solution
{
    public static void main(String[] args) throws Exception
    {
        ArrayList<String> list = new ArrayList<String>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));


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

        for (int i = 0; i < list.size()-1; i++){
            if(list.get(i).length() > list.get(i+1).length()) { // сравниваем i элемент со следующим, если i больше, то след. удаляем
                list.remove(i+1);
                i--;                                            // возвращаем курсор
            }
            else if (list.get(i).length() < list.get(i+1).length()){ // сравниваем i элемент со следующим, если i меньше, то его удаляем
                list.remove(i);
                i--;
            }


        }

        for (int i = 0; i < list.size() ; i++){
            System.out.println(list.get(i));
        }

    }
}

  • ,

level18.lesson10.home10 не проходит тестирование

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

import java.io.*;
import java.util.*;

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

        ArrayList<String> list = new ArrayList<String>();

        while (true) {
            String inputString = reader.readLine();

            if(inputString.equals("end")) break;

            list.add(inputString);
        }
        reader.close();

        HashMap<String, Integer> map = new HashMap<String, Integer>();

        for(String s : list) {
            Integer number = Integer.parseInt(s.split("part")[1]);

            map.put(s, number);
        }

        ArrayList<Map.Entry<String, Integer>> sortedList = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());

        Collections.sort(sortedList, new Comparator<Map.Entry<String, Integer>>() {
            @Override
            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
                return o1.getValue() - o2.getValue();
            }
        });

        String finalFileName = list.get(0).split("\\.part")[0];



        for(Map.Entry<String, Integer> item : sortedList) {
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(("D:\\" + finalFileName + ".txt"), true));
            BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("D:\\" + item.getKey() + ".txt"));

            byte[] bytes = new byte[bufferedInputStream.available()];

            bufferedInputStream.read(bytes);

            bufferedOutputStream.write(bytes);
            bufferedOutputStream.close();

            BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(("D:\\" + finalFileName + ".txt"), true));
            bufferedWriter.newLine();
            bufferedWriter.close();

            bufferedInputStream.close();
        }
    }
}
  • ,

test.level08.lesson08.task05 с двумя циклами сервер не принимает :( кто может подсказать почему ?

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

import java.util.HashMap;
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>();
        String name;
        for (int i = 0; i < 10; i++) {
            if(i%2==0)
            name = "name"+i;
            else
            name = "name";
            map.put("family"+i,name);
        }
        return map;
    }

    public static void removeTheFirstNameDuplicates(HashMap<String, String> map)
    {
        Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()){
        String key = iterator.next().getKey();
        String value = iterator.next().getValue();
            Iterator<Map.Entry<String,String>> iterator2 = map.entrySet().iterator();
            while (iterator2.hasNext()){
                String key2 = iterator.next().getKey();
                String value2 = iterator.next().getValue();
                if(!(key.equals(key2))&value.equals(value2))removeItemFromMapByValue(map,value);
            }
         }

    }

    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());
        }
    }
}
  • ,

Не проходит тестирование level17.lesson10.bonus02 [РЕШЕНО]

CRUD 2
CrUD Batch — multiple Creation, Updates, Deletion
!!! РЕКОМЕНДУЕТСЯ выполнить level17.lesson10.bonus01 перед этой задачей!!!

Программа запускается с одним из следующих наборов параметров:
-c name1 sex1 bd1 name2 sex2 bd2…
-u id1 name1 sex1 bd1 id2 name2 sex2 bd2…
-d id1 id2 id3 id4…
-i id1 id2 id3 id4…
Значения параметров:
name — имя, String
sex — пол, «м» или «ж», одна буква
bd — дата рождения в следующем формате 15/04/1990
-с — добавляет всех людей с заданными параметрами в конец allPeople, выводит id (index) на экран в соответствующем порядке
-u — обновляет соответствующие данные людей с заданными id
-d — производит логическое удаление всех людей с заданными id
-i — выводит на экран информацию о всех людях с заданными id: name sex bd

id соответствует индексу в списке
Формат вывода даты рождения 15-Apr-1990
Все люди должны храниться в allPeople
Порядок вывода данных соответствует вводу данных
Обеспечить корректную работу с данными для множества нитей (чтоб не было затирания данных)
Используйте Locale.ENGLISH в качестве второго параметра для SimpleDateFormat

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) {

        if (args[0].equals("-c")) {
            create(args);
        }

        if (args[0].equals("-u")) {
            update(args);
        }

        if (args[0].equals("-d")) {
            delete(args);
        }

        if (args[0].equals("-i")) {
            info(args);
        }
    }


    private static synchronized void info(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);

        for (int i = 1; i < args.length; i++) {
            if (allPeople.get(Integer.parseInt(args[i])).getSex().equals(Sex.MALE)) {
                System.out.println(allPeople.get(Integer.parseInt(args[i])).getName() +
                        " м " + simpleDateFormat.format(allPeople.get(Integer.parseInt(args[i])).getBirthDay()));
            } else if (allPeople.get(Integer.parseInt(args[i])).getSex().equals(Sex.FEMALE)) {
                System.out.println(allPeople.get(Integer.parseInt(args[i])).getName() +
                        " ж " + simpleDateFormat.format(allPeople.get(Integer.parseInt(args[i])).getBirthDay()));
            }
        }
    }

    private static synchronized void delete(String[] args) {
        for (int i = 1; i < args.length; i++) {
            allPeople.get(Integer.parseInt(args[i])).setBirthDay(null);
            allPeople.get(Integer.parseInt(args[i])).setName(null);
            allPeople.get(Integer.parseInt(args[i])).setSex(null);
        }
    }

    private static synchronized void update(String[] args) {
        for (int i = 1; i < args.length; i += 4) {
            allPeople.get(Integer.parseInt(args[i])).setBirthDay(new Date(args[i + 3]));
            allPeople.get(Integer.parseInt(args[i])).setName(args[i + 1]);

            if (args[i + 2].equals("м")) {
                allPeople.get(Integer.parseInt(args[i])).setSex(Sex.MALE);
            } else if (args[i + 2].equals("ж")) {
                allPeople.get(Integer.parseInt(args[i])).setSex(Sex.FEMALE);
            }
        }
    }

    private static synchronized void create(String[] args) {
        for (int i = 1; i < args.length; i += 3) {
            if (args[i + 1].equals("м")) {
                Person male = Person.createMale(args[i], new Date(args[i + 2]));
                allPeople.add(male);
                System.out.println(allPeople.indexOf(male));
            } else if (args[i + 1].equals("ж")) {
                Person female = Person.createFemale(args[i], new Date(args[i + 2]));
                allPeople.add(female);
                System.out.println(allPeople.indexOf(female));
            }
        }
    }
}
  • ,

level17.lesson10.home04 в чем мои рассуждения не верны?

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

/* Синхронизированные методы
Установить модификатор synchronized только тем методам, которым необходимо
*/

public class Solution {
private double param = Math.random();

//синхронизируем так как выполняется метод 3 c переменной класса param
private void method0() {
double i = method3();
}

// синхронизируем так как вызывается метод 0 который вызывает переменную класса param
protected synchronized void method1(String param1) {
Solution solution = new Solution();
solution.method0();
}
// синхронизируем так как может инкриментироваться переменная класса param приведенная к int
public synchronized void method2(int param1) {
param1++;
}
// синхронизируется так как вызывается переменная класса param
synchronized double method3() {
double random = Math.random();
return random + param;
}
// не синхронизируется потому что в классе не обращается к переменным, ничего не меняет, просто создает объект.
private void method4() {
new StringBuilder().append(1).append(1).append(1).append(1);
}

//синхронизируется так как может получить переменную класса param приведенную к String
synchronized protected void method5(String param2) {
new StringBuffer().append(param2).append(param2).append(param2);
}
//синхронизируется так как может получить переменную класса param приведенную к int + вызывает метод 7
synchronized public String method6(int param2) {
System.out.println(«Thinking....»);
method7(5e-2);
return «Got it!»;
}
//синхронизируется так как может получить переменную класса param
synchronized String method7(double param2) {
return "" + param2;
}
}

Задачи не проходят проверку...

Друзья, сегодня столкнулся с проблемой (раньше такого не было) — решаю задачу, жму кнопку выполнить — всплывает серая полоса в топе, но на ней ничего не указано… Также ничего не выводится в поле «Выходные данные». На 100% верный код система никак не реагирует. Всплывает серая полоса пустая и все.

Ошибка

Подскажите, пожалуйста, это только у меня или это ошибка на стороне сервера? Кто-нибудь сталкивался с таким?

Заранее спасибо за комментарии.

Задачи не проходят проверку...

Друзья, сегодня столкнулся с проблемой (раньше такого не было) — решаю задачу, жму кнопку выполнить — всплывает серая полоса в топе, но на ней ничего не указано… Также ничего не выводится в поле «Выходные данные». На 100% верный код система никак не реагирует. Всплывает серая полоса пустая и все.

Ошибка

Подскажите, пожалуйста, это только у меня или это ошибка на стороне сервера? Кто-нибудь сталкивался с таким?

Заранее спасибо за комментарии.