Проблема с преобразованием кода из java 7 в java8

Я пытаюсь закодировать приведенный ниже фрагмент в Java 8 -

Scanner sc = new Scanner(System.in);
System.out.println("Enter the policy amount: ");
long amount = sc.nextInt();

System.out.println("Enter the interest: ");
int interest = sc.nextInt();

System.out.println("Enter the number of years: ");
int years = sc.nextInt();
sc.close();

for (int i = 1; i <= years; i++) {
    result = nextYear + amount;
    calculateInterest = result * interest / 100;
    nextYear = result + calculateInterest;
}
return nextYear;

Мне нужно значение Следующий год, поэтому попробовал, как показано ниже, с помощью IntStream

IntStream intStream = IntStream.rangeClosed(1, years);

    intStream.forEach(num -> {
        result = nextYear + amount;
        calculateInterest = result * interest / 100;
        nextYear = result + calculateInterest;
    });

но не уверен, как вернуть значение Следующий год. Как с этим справиться или есть другой способ сделать это. любезно предложить. Спасибо.

зачем вообще нужен цикл for? Обязательно должна быть формула для расчета процентов.

Eritrean 09.04.2021 18:37

вы пытаетесь вычислить сложные проценты?

Naman 09.04.2021 18:40

На всякий случай, если речь не идет о начислении процентов, вообще как это сделать? Пожалуйста, помогите.

Vedant 09.04.2021 18:40
Обычно это будет операция сокращения. Но также обычно вы не уменьшаете, когда у вас просто цикл, но когда вы намереваетесь основывать результат на содержимом потока.
VLAZ 09.04.2021 18:43

Java 8 (даже 16) по-прежнему допускает циклы for ... с ними все в порядке. Я бы использовал streams, только если код может быть лучше выразил с streams (или для развлечения / тестирования) - очень основано на мнении

user15358848 09.04.2021 18:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
45
0

Другие вопросы по теме