我正在处理一项 CS 任务,但我在理解如何在给定用户指定的增长率的情况下以时间增量输出代表银行账户中货币数量的双精度数组时遇到了一些麻烦。我有一个主要方法,它要求用户提供 $ 的初始金额、增长率和时间间隔数(表示初始金额、增长率和周期数的 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));
}
}