double a =100;
double b =a/2;
int i =0;
for (i =2;i<=10;i++){
a = a+b*2;
b = b/2;
}System.out.println("第"+i+"次落地经过时"+"共"+a+"米");
System.out.println("第"+i+"次落地时"+"共反弹"+b+"米");
请问一下 为什么i=2?我没有看懂..
我算出来的结果是第11次经过和弹起 可是我算的是第10次啊 怎么搞的但是 答案还对 我有点迷糊了..还有a=a+b*2也不怎么懂..希望明白人 帮小弟详细讲解一下 作者: binghaiwang 时间: 2013-8-15 14:45 本帖最后由 binghaiwang 于 2013-8-15 14:48 编辑
double a =100;
double b =a/2;
int i =0;
for (i =2;i<=10;i++){
a = a+b*2;
b = b/2;
}System.out.println("第"+i+"次落地经过时"+"共"+a+"米");
System.out.println("第"+i+"次落地时"+"共反弹"+b+"米");
请问一下 为什么i=2?//因为第一次落地和反弹数据就是初始化数据 a=100和b=a/2
我算出来的结果是第11次经过和弹起 可是我算的是第10次啊//注意i++,第十次循环后自增1,
还有a=a+b*2//弹起落下 ,抛物线,上下距离一样
可以修改下代码
class sdf{
public static void main(String args[]){
double a =100;
double b =a/2;
int i =0;
for (i =1;i<10;++i){
a = a+b*2;
b = b/2;
}System.out.println("第"+i+"次落地经过时"+"共"+a+"米");
System.out.println("第"+i+"次落地时"+"共反弹"+b+"米");