Я пытаюсь закодировать приведенный ниже фрагмент в 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;
});
но не уверен, как вернуть значение Следующий год. Как с этим справиться или есть другой способ сделать это. любезно предложить. Спасибо.
вы пытаетесь вычислить сложные проценты?
На всякий случай, если речь не идет о начислении процентов, вообще как это сделать? Пожалуйста, помогите.
Java 8 (даже 16) по-прежнему допускает циклы for ... с ними все в порядке. Я бы использовал streams, только если код может быть лучше выразил с streams (или для развлечения / тестирования) - очень основано на мнении




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