level17.lesson10.home09 не принимает на сервере=(

public class Solution {
    public static List<String> allLines = new ArrayList<String>();
    public static List<String> forRemoveLines = new ArrayList<String>();

    public static void main(String[] args)  {

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        try
        {


            String firstFileName = reader.readLine();
            String secondFileName = reader.readLine();
            reader.close();

            BufferedReader firstFilereader = new BufferedReader(new FileReader(firstFileName));
            BufferedReader secondFilereader = new BufferedReader(new FileReader(secondFileName));

            String firstFileline;
            String secondFileline;

            while ((firstFileline = firstFilereader.readLine()) != null)
            {
                allLines.add(firstFileline);
            }
            firstFilereader.close();

            while ((secondFileline = firstFilereader.readLine()) != null)
            {
                forRemoveLines.add(secondFileline);
            }
            secondFilereader.close();

            Solution solution = new Solution();
            solution.joinData();
        }
        catch (Exception e){

        }
    }

    public void joinData () throws CorruptedDataException {

        if(allLines.containsAll(forRemoveLines)){
            allLines.removeAll(forRemoveLines);
        }
        else {
            allLines.clear();
            throw new CorruptedDataException();
        }

    }
}


Что я сделал не так?(

Сброс прогресса

Очень надо иметь возможность сбросить все и начать заново (как минимум уровня с 15-го). Что бы вдумчиво решить задачи еще раз. Восстановить знания.
  • ,

JUnit для JavaRush или немного о тестировании в домашних условиях.

Надоело десятки раз вбивать в консоль тестовые данные чтобы проверить свою задачу? Добро пожаловать под кат, я расскажу что можно с этим сделать.
  • ,

Начинающему JavaRush'евцу.

Если Вы поставили себе цель стать крутым Java-кодером и только начинаете свой путь с JavaRush, если Ваша цель получить максимум пользы от данного ресурса, а не бесполезное прожигание времени путем бездумного «отстреливания» задачек — этот топик для Вас.
  • ,

Где взять плагин для Intellij IDEA чтобы решать задачи?

Доброго всем времени суток! Столкнулся с проблемой. Думал, что можно пройти курс решая задачи только в браузере. Но похоже это не так. Решил поставить Intellij IDEA. Нашел видео инструкцию по установке. Но не нашел где взять плагин для того, чтоб можно было решать задачи и как настроить Intellij IDEA. Помню где-то видел, но сейчас не могу найти. Помогите, плиз, кто может!
Заранее благодарю!
  • ,

level33.lesson05.home03

Условие
/* Десериализация JSON объекта
НЕОБХОДИМО: подключенные библиотеки Jackson Core, Bind и Annotation версии 2.4.3

В метод convertFromJsonToNormal первым параметром приходит имя файла, который содержит один ДЖЕЙСОН объект.
Вторым параметром приходит имя класса, объект которого находится в файле.
Метод convertFromJsonToNormal должен вычитать объект из файла, преобразовать его из JSON и вернуть его.
*/

Код
public static <T> T convertFromJsonToNormal(String fileName, Class<T> clazz) throws IOException {
        ObjectMapper objectMapper= new ObjectMapper();
        T result = objectMapper.readValue(new File(fileName), clazz);
        return result;
    }


Тест

public static void main(String[] args) throws IOException
    {
        Cat cat = convertFromJsonToNormal("C:\\JR\\resultFile.txt", Cat.class);
        System.out.println(cat);
    }

    @JsonAutoDetect
    public static class Cat{
        public String name;
        public int age;

        Cat(){}

        @Override
        public String toString()
        {
            return "Cat{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }


Содержание файла
{«name»:«Murkfsdfa»,«age»:3}

Все корректно работает. Из файла все восстанавливает. В чем может быть проблема?

level05.lesson12.home02

Не проходит тестирование, не ясно почему

package com.javarush.test.level05.lesson12.home02;

/* Man and Woman
1. Внутри класса Solution создай public static классы Man и Woman.
2. У классов должны быть поля: name(String), age(int), address(String).
3. Создай конструкторы, в которые передаются все возможные параметры.
4. Создай по два объекта каждого класса со всеми данными используя конструктор.
5. Объекты выведи на экран в таком формате [name + " " + age + " " + address].
*/


public class Solution
{
    public static void main(String[] args)
    {
        Man man1 = new Man("Bob", 25, "Moscow");
        Man man2 = new Man("Ted", 38, "Japan");
        Woman woman1 = new Woman("Angel", 23, "Moon");
        Woman woman2 = new Woman("April", 34, "Sun");

        System.out.println(man1);
        System.out.println(man2);
        System.out.println(woman1);
        System.out.println(woman2);
    }

    public static class Man
    {
        private String name;
        private int age;
        private String addres;

        public Man(String name, int age, String addres) {
            this.name = name;
            this.age = age;
            this.addres = addres;
        }

        public String toString(){ return name+" "+age+" "+addres; }
    }

    public static class Woman
    {
        private String name;
        private int age;
        private String addres;

        public Woman(String name, int age, String addres) {
            this.name = name;
            this.age = age;
            this.addres = addres;
        }

        public String toString(){ return name+" "+age+" "+addres; }
    }
}

level18.lesson05.task03

Уже вторая задача на этом уровне непонятно во что упирается.
Смотрел обсуждения аналогичные, у некоторых достаточно сложные проверки, я старался максимально упростить и протестировал уже по разному, работает же.

Что от меня хотят не понимаю )

package com.javarush.test.level18.lesson05.task03;

/* Разделение файла
Считать с консоли три имени файла: файл1, файл2, файл3.
Разделить файл1 по следующему критерию:
Первую половину байт записать в файл2, вторую половину байт записать в файл3.
Если в файл1 количество байт нечетное, то файл2 должен содержать бОльшую часть.
Закрыть потоки ввода-вывода
*/

import java.io.*;

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

        FileInputStream file1 = new FileInputStream(reader.readLine());
        FileOutputStream file2 = new FileOutputStream(reader.readLine());
        FileOutputStream file3 = new FileOutputStream(reader.readLine());
        reader.close();


        int file1Size = file1.available();
        buff = new byte[file1Size/2 + file1Size%2];


        file2.write(buff, 0, file1.read(buff));
        file3.write(buff, 0, file1.read(buff));


        file1.close();
        file2.close();
        file3.close();

    }
}


3 файла с консоли считал
Первую половину байт записал во второй файл, вторую в третий
Если количество байт нечетное, то соответственно буффер получается чуть больше, чем половина и первый раз пишет во второй файл, а остаток в третий
Потоки закрыл. Лишнего ничего вроде нет.

Вопрос о задаче level05.lesson12.bonus03

Прошу помощи в решении задачи, программа работает, но проверку не проходит.

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

/* Задача по алгоритмам
Написать программу, которая:
1. вводит с консоли число N > 0
2. потом вводит N чисел с консоли
3. выводит на экран максимальное из введенных N чисел.
*/

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

        int n = Integer.parseInt(reader.readLine());

        int[] array = new int[n];

        for (int i = 0; i < n; i++) {
            array[i] = Integer.parseInt(reader.readLine());
        }

        int maximum = 0;

        for (int i = 0; i < n; i++) {
            if (array[i] > maximum) {
                maximum = array[i];
            }
        }

        System.out.println(maximum);
    }
}
  • ,

com.javarush.test.level30.lesson02.home01

Тестировал на огромном количестве разных чисел, работает должным образом. Только в моем решении максимально допустимое число ограничено Long.MAX_VALUE(по моему этого достаточно). Подскажите в чем проблема?

package com.javarush.test.level30.lesson02.home01;

import java.util.ArrayList;
import java.util.List;

/* Конвертер систем счислений
Реализуйте логику метода convertNumberToOtherNumerationSystem, который должен переводить число number.getDigit()
из одной системы счисления(numerationSystem) в другую (expectedNumerationSystem)
бросьте NumberFormatException, если переданное число некорректно, например, число "120" с системой счисления 2
Валидация для - number.getDigit() - целое не отрицательное
Метод main не участвует в тестировании
*/
public class Solution {
    public static ArrayList<Character> validChar = new ArrayList<Character>();
    static {
        validChar.add('0');
        validChar.add('1');
        validChar.add('2');
        validChar.add('3');
        validChar.add('4');
        validChar.add('5');
        validChar.add('6');
        validChar.add('7');
        validChar.add('8');
        validChar.add('9');
        validChar.add('a');
        validChar.add('b');
        validChar.add('c');
        validChar.add('d');
        validChar.add('e');
        validChar.add('f');
    }

    public static void main(String[] args) {
        Number number = new Number(NumerationSystemType._16, "DeedBeef");
        Number result = convertNumberToOtherNumerationSystem(number, NumerationSystemType._10);
        System.out.println(result);
    }

    public static Number convertNumberToOtherNumerationSystem(Number number, NumerationSystem expectedNumerationSystem) {

        String numberInStringRepresentation = number.getDigit();
        int radix = number.getNumerationSystem().getNumerationSystemIntValue();

        if (!isValid(numberInStringRepresentation, radix))
            throw new NumberFormatException();

        long longRepresentation = Long.parseLong(numberInStringRepresentation, radix);
        System.out.println(longRepresentation);

        int expectedRadix = expectedNumerationSystem.getNumerationSystemIntValue();
        String expectedValue = Long.toString(longRepresentation, expectedRadix);

        return new Number(expectedNumerationSystem, expectedValue);
    }

    public static boolean isValid(String number, int radix) {
        List<Character> currValidChar = validChar.subList(0, radix);

        for (char ch : number.toLowerCase().toCharArray()) {
            if (!currValidChar.contains(ch)) {
                return false;
            }
        }

        return true;
    }
}
  • ,

package com.javarush.test.level13.lesson02.task09;

Добрый день. Скажите пожалуйста, почему мы имеем право передавать в качестве параметра тип интерфейса и зачем это вообще нужно
public class Solution
{
    public static void main(String[] args) throws Exception
    {
    }
    interface Movable
    {
        Double speed();
    }
    interface Runable extends Movable
    {
        Double speed(Runable q);
    }
}