本金是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);
}
}