-3

我的循环问题似乎正在运行并且没有停止我没有让循环停止它继续运行并且不会停止

rate=interest/100;
double monthly_rate=rate/period;
double n=period*length;
payment = (principal * Math.pow((1 + monthly_rate), n)) / n;

System.out.printf("Test acoount amount is %.2f",payment);

for(double i=payment; n<=n; n++){
    System.out.println(i+ "" +(payment-i));

}
4

2 回答 2

3
n <= n

通常总是正确的。

您需要弄清楚循环的终止条件,并可能修复它n++。它可能是这样的:

for (int prd = 1; prd <= n; prd++) ...

这将循环n时间并通过包容性prd保持值。1n

于 2012-11-19T18:58:00.993 回答
1

您的问题就在 for 语句本身中:

for(double i=payment; n<=n; n++){

在条件 n<=n

基本上,你的表达式永远不会计算出它所设置的值,因为 'n 将永远等于 n'

您需要的是让您的支票成为一个不同的变量或某种您希望切断的上限,例如:

int max = 10;
for(double i=payment; n<=max; n++){

您如何设置和/或控制最大值取决于您要达到的目标。

于 2012-11-19T18:59:43.110 回答