• Как правильно написать функцию в ФП стиле?

    @ComradV
    По-моему, много более понятен следующий код.
    Здесь мы перед добавлением смотрим, является ли слово Word, если да, увеличиваем счетчик. Если он большой (болше или равен 2), то не добавляем, иначе добавляем. Добавляем в конец, ибо работает быстрее. Потом оборачиваем.
    this.words.reduceRight((accum, w) => {
        acc.count += (current instanceof Word)?1:0;
        if(acc.count < 2){
          acc.words.push(current);
        }
        return acc;
      }
      , {words:[], count:0}).words.reverse();
    Ответ написан
  • Посоветуйте ресурс, где можно подготовиться к ЕГЭ по математике

    @ComradV
    Добрый день.
    https://ege.sdamgia.ru/ - прекрасный сборник задач, с возможностью генерировать себе варианты с теми типами задач, которые хуже всего получаются.
    Если хочется погорячее - то Алекс Ларин, там даже я (как репетитор) порой крепко призадумываюсь, т.е. тут варианты приведены более сложные, чем в реальном ЕГЭ.
    alexlarin.net/ege18.html

    Ну а по теории - видеокурсы, которые в открытом доступе в ютубе сейчас в изобилии, и точно вы найдёте того рассказчика, который вам по душе (тут есть все, от условной совковой Марьи Петровны, до канала "Математика без х№;ни"). А такой красивой "серебряной пули" как ЛингваЛео, к сожалению, за долгие поиски я пока не обнаружил
    Ответ написан
    Комментировать
  • Из-за чего программа выдаёт ошибку и как это исправить?

    @ComradV
    1. как правильно написано в первом комментарии, +1 там быть не должно.
    2. Вообще, у вас первый элемент массива - массив из 3 элементов, второй - из двух, первый - из одного. Поэтому если вам сгенерировал генератор p=2, у вас получится элемент 2 из 2 массива. Во 2 по индексу массиве (в третьем по счёту) только 1 элемент, поэтому вы "вывалитесь" за границу массива.
    Если вам нужен случайный элемент двумерного непрямоугольного массива, можно предложить технику:
    int p = random.nextInt(job.length);
    int q = random.nextInt(job[p].length);
    System.out.println(job[p][q]);
    3. Методы - с маленькой буквы
    4. Если этот класс больше ничего не делает, разумно сделать метод статическим и не создавать лишний объект, а писать Job.r();
    Ответ написан
    Комментировать