Создайте поток для генерации кратных трем ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Создайте поток для генерации кратных трем

Сообщение Anonymous »

Я пытаюсь сгенерировать поток целых чисел, поэтому я создал статический метод, возвращающий поток.
Вот метод:

Код: Выделить всё

public static Stream multipleOf3(){
return Stream.iterate(1, x -> 3*x).limit(10);
}
Однако этот метод возвращает мне не кратные числа трех, а степени трех.
Я вызываю метод следующим образом:

Код: Выделить всё

multipleDe3().forEach(System.out::println);
и у меня есть такой результат:

Код: Выделить всё

1
3
9
27
81
243
729
2187
6561
19683
Я думаю, что функция итерации использует предыдущий результат, начальные числа = 1, поэтому x = 1, а затем:

Код: Выделить всё

3*1 = 3,
3*3 = 9,
3*9 = 27, etc...
Если у кого-нибудь есть идея вычислить кратное, не используя предыдущий результат, сообщите мне, пожалуйста.


Подробнее здесь: https://stackoverflow.com/questions/701 ... s-of-three

Вернуться в «JAVA»