• ,

Баги javaRush 2.0

Предлагаю постить сюда баги, ибо в топиках черт ногу сломит, да и вопрос видит ли администрация их…

Каждому багу ставим порядковый номер (в формате 0001, 0002, ...) так будет проще искать.
Один пост, один баг.

От администрации ждем отписки или реакции на баг и примерные сроки. Я одно не понимаю почему они не запилят на сайте обратную связь, увидел, сразу же отправил. На да ладно, это их дело.
Только вот одна беда, я оформил подписку, и мне нихрена не весело с таким играться…
Пожалуй начну.
  • ,

com.javarush.test.level14.lesson04.task05

Обнаружил не большой баг, если его так можно назвать. При вводе в консоль «player» или «dancer» создается и печатается в консоль нужный нам объект. А если вписал после любого из перечисленного ключевого слова, то на консоль выходит последний правильный объект.
Я надеюсь я понятно описал возможный баг.
Задача прошла проверку на валидность.


package com.javarush.test.level14.lesson04.task05;

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

/* Player and Dancer
1. Подумать, что делает программа.
2. Изменить метод haveRest так, чтобы он вызывал метод
- play, если person имеет тип Player
- dance, если person имеет тип Dancer
*/

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

        Person person = null;
        String key;
        while (!(key = reader.readLine()).equals("exit"))
        {
            if ("player".equals(key))
            {
                person = new Player();
            } else if ("dancer".equals(key))
            {
                person = new Dancer();
            }
            haveRest(person);
        }
    }

    public static void haveRest(Person person)
    {
        //Add your code here
        if (person instanceof Player) {
            Player p = (Player) person;
            p.play();
        } else if (person instanceof Dancer) {
            Dancer d = (Dancer) person;
            d.dance();
        }
    }

    interface Person
    {
    }

    static class Player implements Person
    {
        void play()
        {
            System.out.println("playing");
        }
    }

    static class Dancer implements Person
    {
        void dance()
        {
            System.out.println("dancing");
        }
    }
}

Непонятний баг!Не могу понять почему так?

ввод: числа1-20
Вивод:
1
2
1
3
2
1
3
2
4
1
3
2
4
1
5
3
6
2
4
6
1
5
3
6
2
4
6
1
5
7
3
6
2
4
6
8
1
5
7
3
6
9
2
4
6
8
1
5
7
3
6
9
2
4
6
8
10
1
5
7
3
6
9
2
4
6
8
10
1
5
7
11
3
6
9
12
2
4
6
8
10
12
1
5
7
11
3
6
9
12
package com.javarush.test.level07.lesson09.task01;


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

/* Три массива
1. Введи с клавиатуры 20 чисел, сохрани их в список и рассортируй по трём другим спискам:
Число делится на 3 (x%3==0), делится на 2 (x%2==0) и все остальные.
Числа, которые делятся на 3 и на 2 одновременно, например 6, попадают в оба списка.
2. Метод printList должен выводить на экран все элементы списка с новой строки.
3. Используя метод printList выведи эти три списка на экран. Сначала тот, который для x%3, потом тот, который для x%2, потом последний.
*/

public class Solution
{
    public static void main(String[] args) throws Exception
    {
        ArrayList<Integer> list=new ArrayList<Integer>(20);

        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        for(int i=0;i<20;i++){

            list.add(Integer.parseInt(reader.readLine()));
           }
        ArrayList<Integer>listThree=new ArrayList<Integer>();
        ArrayList<Integer>listTwo=new ArrayList<Integer>();
        ArrayList<Integer>listAnother=new ArrayList<Integer>();

        for(int x:list){
            if(x%3==0){
                listThree.add(x);
            }
            if(x%2==0){
                listTwo.add(x);
            }
            if((x%2!=0 )&& (x%3!=0)){
                listAnother.add(x);

            }
          printList(listThree);
            printList(listTwo);
            printList(listAnother);

        }

    }

    public static void printList(List<Integer> list)
    {
       for(int x:list){
           System.out.println(x);
       }
    }
}
  • ,

level10.lesson11.home04; все верно, не принимает(

Всё верно выводит, но решение не проходит( Почему?
package com.javarush.test.level10.lesson11.home04;

/* Большая зарплата
Вывести на экран надпись «Я не хочу изучать Java, я хочу большую зарплату» 40 раз по образцу.
Образец:
Я не хочу изучать Java, я хочу большую зарплату
 не хочу изучать Java, я хочу большую зарплату
не хочу изучать Java, я хочу большую зарплату
е хочу изучать Java, я хочу большую зарплату
 хочу изучать Java, я хочу большую зарплату
хочу изучать Java, я хочу большую зарплату
…
*/

import java.util.ArrayList;

public class Solution
{
    public static void main(String[] args)
    {
        String s = "Я не хочу изучать Java, я хочу большую зарплату";
char[] myLittleChari = s.toCharArray();
        ArrayList myLittleArri = new ArrayList();
        for (int i = 0; i < myLittleChari.length; i++)
        {
            myLittleArri.add(myLittleChari[i]);

        }
        for (int i = 0; i <myLittleArri.size() ; i++)
        {

            for (int j = 0; j <myLittleArri.size() ; j++)
            {
                System.out.print(myLittleArri.get(j));
            }
            myLittleArri.remove(i);
            i--;
            System.out.println();
        }
    }

}
  • ,

level32.lesson06.task01

Задачу прошел по принципу генерации первых 6 символов произвольно из набора всех букв и цифр.

7 символ добирался так — если уже есть цифры в пароле — полный рандом, нет цифры — точно будет цифра.

8 символ — проверка: если все буквы маленькие — будет большая буква, все большие — будет маленькая, иначе — рандом из полного набора.

Задачу приняло, но сразу после сдачи пришло в голову, что возможна ситуация, где в моем решении метод выдаст не ликвидный пароль, а именно:
1. Первые 6 символов пароля случайно получились цифрами.
2. 7 так как выбирается вариант полного рандома случайно тоже получилась цифрой.

В итоге у нас только одна буква, а она не может одновременно быть и большой и маленькой.
Наверное стоит исправить проверку?
  • ,

Баг среди лекций (уровень 20)

У меня на 20-ом уровне в списке заданий висят две задачи на «ввод кода», конкретно «уровень 20, лекция 05, задание 01» и «уровень 20, лекция 06, задание 01».
Во-первых, в них нет кода, задание «засчитывается», если ввести пробел.
Во-вторых, задание остается доступным. Т.е. можно много-много раз эти задания закрыть и нагенерировать себе топлива для дальнейшего прохождения.

level30.lesson08.task01

Самая последняя написанная в JavaRush задача, к сожалению, написана с багом.
Приведу условие:

Найдем число 2 в максимальной степени
Реализуйте логику метода maxPowerOf2,
который должен возвращать число 2 в максимальной степени, которое получается поместить в переданное число
Аргументом maxPowerOf2 может быть только положительное число
Используйте только операции: 1)побитовые сдвиги, 2) присваивание, 3) побитовое ИЛИ
Не оставляйте комментарии

На самом деле, пользуясь ТОЛЬКО этими тремя операциями, решить задачу не представляется возможным.
Это если кратко.

Неправильная задача

Добрый день.
Если я наткнулся на явно неправильную задачу (условие не согласуется с тем, что требует сервер при проверке), куда мне написать для помощи проекту?

В частности: level22.lesson18.big01, часть 7.
int getValue(int x, int y) — просят добавить этот метод.
однако код отторгается сервером, правильный вариант:
Integer getValue(int x, int y)
Об этом есть упоминания в ветке обсуждения задачи, и тем не менее условия всё ещё некорректны.
  • ,

Странное поведение Intellij IDEA

Частенько появляется такая раздражающая ситуация: написал код, запускаешь Run для проверки — а среда пытается открыть совершенно другую задачу, которая может даже и не быть открытой на вкладке. В итоге до тех пор, пока не удалишь эту открывающуюся задачу из пакета — нужную тебе задачу не запустить.
Кто-нибудь сталкивался с таким? Как это исправить?