[英]Recursion using for-loop
我目前正在編寫一個程序,在該程序中我必須使用 for 循環遞歸計算一個數字。 但不幸的是,我不知道如何正確實現這個函數,因為我當前的實現沒有計算出正確的答案。
public class Calc {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double k = sc.nextDouble();
double e = sc.nextDouble();
double q = sc.nextDouble();
int n = sc.nextInt();
for (int i = 0; i < n; i++) {
k = (k + (i * e)) * (1 + q); //The problem I have is that I don't know how to access the previous element of the for-loop
}
}
}
而不是你的 for 循環:
for (int i = 0; i < n; i++) {
k = (k + (i * e)) * (1 + q);
}
你確實可以使用遞歸。
只需創建一個名為calculateK()
的方法並遞歸調用它,如下所示:
public static double calculateK(double k, int i) {
if (i == n) {
return k;
}
else
{
return calculateK((k + (i * e)) * (1 + q), i + 1);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.