gpt4 book ai didi

java - java中的指数增长,返回类型 double 组

转载 作者:行者123 更新时间:2023-11-29 03:41:53 25 4
gpt4 key购买 nike

我正在处理 CS 作业,我在理解如何在给定用户指定的增长率的情况下以时间增量输出代表银行账户中金额的 double 组时遇到了一些困难。我有一个主要方法,它要求用户输入 $ 的 initialAmount、growthRate 和时间间隔数(用 iA、gR 和 nP 表示初始数量、增长率和周期数)。然后此方法调用另一个返回类型为 double[] 的方法。我的问题是我的 for 循环中的代码,它编译正常但输出乱码。这是代码:

import java.util.Scanner;

public class Benford {
public static double[] generateBenfordNumbers (double iA, double gR, int nP) {
double[] bankStatement = new double[nP];

for (int i = 0; i<nP; i++) {
bankStatement[i] = (iA*(Math.pow((1+(gR)), (i++))));
}

return bankStatement;
}

public static void main (String[] args) {
Scanner scan = new Scanner(System.in);
double iA;
double gR;
int nP;

System.out.print("What is the initial amount of money that you are starting with? : ");
iA = scan.nextDouble();
System.out.println();

System.out.print("What is the amount of growth per time period? : ");
gR = scan.nextDouble();
System.out.println();

System.out.print("How many time periods would you like to use? : ");
nP = scan.nextInt();
System.out.println();

generateBenfordNumbers(iA, gR, nP);
System.out.print(generateBenfordNumbers(iA, gR, nP));
}
}

最佳答案

行内

bankStatement[i] = (iA*(Math.pow((1+(gR)), (i++))));

i++ 第二次递增 i。你可能想要:

bankStatement[i] = (iA*(Math.pow((1+(gR)), i + 1)));

或者,如果我们清理它,

bankStatement[i] = iA * Math.pow(1 + gR, i + 1);

i + 1 返回一个比 i 大 1 的值,但实际上并不增加变量本身。


此外,您真的必须每次都使用 Math.pow 吗?您不能只手动将数组的第一个元素设置为 iA 然后使用 bankStatement[i-1] 来计算 bankStatement[i]?这样做可能会改进您的程序。

关于java - java中的指数增长,返回类型 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12790275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com