我想实现经过n年之后本息和是原来的金额的2倍,可是我的程序无法的到正确的结果,求指教!
本金是10000,利息是0.0252,求经过多少年之后,本息和会翻一番,为什么我的程序不对呢?
Java code
public class benxihe
{
public static void main(String[] args)throws Exception
{
int y=0;
float money=10000,sum=0,newsum = 0;
float lilv=0.0252f;
while(sum<20000)
{
y=y+1;
newsum = money*(1+lilv);
sum = newsum;
}
System.out.println("经过"+y+"年本息和将会翻一番");
}
}
------解决方案--------------------因为你的money没有变啊,算n次,newsum = 10000*(1+0.0252);然后sum = newsum;
sum永远是 10252
把sum用money替换就行了
------解决方案--------------------newsum = money*(1+lilv);
money = newsum;//加上这一句代码
sum = newsum;
直接
money *= (1 + lilv);
一句搞定了,为啥要写那么多呢
------解决方案--------------------
------解决方案--------------------public class TestMoney {
public static void main(String []args){
double Money=10000;
int year=0;
while(Money<20000)
{
Money=Money+Money*0.0252;
year++;
}
System.out.println(year);
System.out.println(Money);
}
}