• ,

Где взять задачи(идеи) для закрепления материала по пройденым темам JR?

Здравсвуйте. Сейчас на 17-м уровне, и ощущается, что тяжело уже все идет, мотивация падает из-за того, что не понимаешь что-то или даже больше из-за того, что каша в голове.
Суть моего вопроса в общем в том, чтобы хотелось еще больше практики, мини проекты какие-то, но не тупо отсортировать коллекцию определенным образом, а чтобы была задумка какая-то интересная(например мини игра, парсер с сайта) но графику еще не изучал, поэтому только консоль. Может кто подсказать подобные интересные задачи?
  • ,

Алгоритмические задачи

Сильный конек JavaRush — изобилие практики, что сильно способствует закреплению данного на лекциях материала. Здесь 95% задач с уклоном в практику написания прикладных или серверных программ.
Это здорово закрепить на практике поданные на лекциях материалы (коллекции, дженерики, массивы, многопоточность и т.п.) или поэтапно создавать и рефакторить задачи со множеством классов и их взаимодействия (big-и). Как глоток свежего воздуха встречаются алгоритмические задачи (все, наверное, вспоминают последний бонус 20го уровня, построения бинарного дерева-списка), но их число не велико. Оно и понятно, курс посвящен прикладной практике, а не алгоритмике (которая требует гораздо больше теории кибернетики и математики).
Тем, кто в чем то похож на меня в плане иногда немного отвлечься и потренировать больше математические навыки в программировании, рекомендую codeforces.com/. Тамошние задачи можно решать (помимо прочих языков программирования) и на Java 7/8.
Пул задач (помимо них устраиваются и соревнования), доступен на codeforces.com/problemset. Помимо них есть и соревнования и т.п.

100% принимает решение в единственном java-файле c использованием пакета по умолчанию (то есть нет java-файле указания package) и точкой входа public static void main(String[] args). Другие варианты отправки решения я не пробовал.

Приведу пример самой простой задачи ( codeforces.com/problemset/problem/1/A ) с решением (воспринимайте как тестовый пример), чтобы могли использовать как болванку при решении других:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class task1A {
    /*
        Театральная площадь в столице Берляндии представляет собой прямоугольник n × m метров.
        По случаю очередного юбилея города, было принято решение о замощении площади 
        квадратными гранитными плитами. Каждая плита имеет размер a × a.

        Какое наименьшее количество плит понадобится для замощения площади? Разрешено покрыть 
        плитами большую поверхность, чем театральная площадь, но она должна быть покрыта обязательно. 
        Гранитные плиты нельзя ломать или дробить, а разрешено использовать только целиком. 
        Границы плит должны быть параллельны границам площади.

        Входные данные
        В первой строке записано три целых натуральных числа n, m и a (1 ≤ n, m, a ≤ 10^9).

        Выходные данные
        Выведите искомое количество плит.
    */
    public static void main(String[] args) throws IOException {
        BufferedReader reader  = new BufferedReader(new InputStreamReader(System.in));
        String[] s=reader.readLine().split(" ");
        long n = Long.parseLong(s[0]);
        long m = Long.parseLong(s[1]);
        long a = Long.parseLong(s[2]);
        reader.close();

        long cntSide1 = n/a + (int) Math.signum(n%a);
        long cntSide2 = m/a + (int) Math.signum(m%a);
        System.out.print(cntSide1*cntSide2);
    }
}


После создания программы и самостоятельного ее тестирования — загружайте файл на сайт, проверка начнется в ближайшее время и вы можете наблюдать за ее процессом. Дополнительно можно посмотреть тестовые данные в процессе проверки и использовать их для коррекции программы в случае провала одного из тестов.

P.S. Если администрация сочтет рекламой стороннего ресурса — можете удалить. Хотя лично я считаю, что дополнительная зарядка мозгам в плане алгоритмики не помешает.
P.S.S. Если есть другие подобные ресурсы — пишите в комментариях (лучше в развернутых — плюсы, минусы и примеры решенных тестовых задач для легкого старта другим).