【发布时间】:2012-10-08 22:19:14
【问题描述】:
我正在处理一项 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));
}
}
【问题讨论】:
-
乱码输出是什么意思?究竟是什么让您感到不安?
标签: java arrays for-loop exponential