Java 将输出用作下一个循环的输入

Java 将输出用作下一个循环的输入,java,Java,我需要这样的结果: 示例:用户输入为principal=2000,term=6,rate=2% Period Interest Total Interest Total Balanced<br> 1 6.66 6.66 2006.60 2 6.69 13.35 2013.35 3 6.71 20.06

我需要这样的结果:
示例:用户输入为principal=2000,term=6,rate=2%

Period Interest  Total Interest  Total Balanced<br>
    1      6.66            6.66             2006.60 
    2      6.69            13.35           2013.35 
    3      6.71            20.06           2020.06 
    4      6.74            26.80           2026.80 
    5       6.75           33.55           2033.55 
    6       6.78           40.33           2040.33
但结果是这样的:

Period   Interest  Total Interest  Total Balance
   1       6.6666665        6.6666665         2006.6666
   2       6.6666665        6.6666665         2006.6666
   3       6.6666665        6.6666665         2006.6666
   4       6.6666665        6.6666665         2006.6666
   5       6.6666665        6.6666665         2006.6666
   6       6.6666665        6.6666665         2006.6666

将您的
totalInt
声明移到
声明之外,同时
声明。 你现在在每个循环中重置它,因此它实际上不是你的全部兴趣,而是你当前的兴趣。 你需要做:
totalInt+=interest在循环中。
对于增量,您不需要再次对浮动产生兴趣,因为它已经声明为浮动。
另外,做
total+=interest
可能比从基本存款开始,每次都用totalInt递增更干净

至于上一期的格式,只需按照以下内容做一些事情:

System.out.printf("%.2f \t\t %.2f \t\t %.2f\n", interest, totalInt, total);   

或者看看

我假设问题是关于输出格式化的

System.out.printf("%.2f \t\t %.2f \t\t %.2f\n", interest, totalInt, total);   

嗨,像这样循环之前保持浮动利率

浮动利率=0


(a我想你想要的是,将第一行更改为:

float p, t, r, total, R, interest, totalInt;

然后删除循环中的浮点声明

在循环中,你的p,r,r,t一切都是常量。任何东西怎么能改变。执行
p=p+totalInt
total=p
我认为你不应该使用
float
(如果没有必要的话),使用
double
来代替。但是对于你的情况,无论如何使用
bigdecimic
,因为对于财务来说
double
给出的结果不准确。最好读一下整个问题,你可以看到他的总利息和余额也是错误的。ye ye you是对的。对不起,没有看到他的结果是错误的。我以为这只是一个错误ut格式化。不管怎么说,它已经回答了:)非常感谢,但是当我执行时,兴趣和总兴趣是一样的。@user36934他需要将totalInterest保持在循环之外,而不是兴趣user3828257。这是因为正如我在回答中解释的,您需要将totalInt移到循环之外,并且需要用利息增加你的总数。@Simonverhoe即使是totalInt,你指的是声明或整个“totalInt=(float)利息”;我需要增加的是总数,对吗?@user3828257是的,目前你在循环中每次都覆盖你的totalInt。你需要增加它。只需执行totalInt+=循环中的兴趣。我为你澄清了我的答案。
 }

 }
float p, t, r, total, R, interest, totalInt;