为了账号安全,请及时绑定邮箱和手机立即绑定

Java 这道小题的错误在哪

Java 这道小题的错误在哪

慕仙森 2019-03-01 10:58:29
/* * 一球从100米高度自由落下,每次落地后反跳回原来高度的一半,再落下, * 求它在第10次落地时共经过多少米?第10次反弹多高? * */ 修改的地方都加粗了 public class Demo { public static void main(String[] args){ //小球反弹后的高度 double height = 100; //y用于记录小球下落的高度 double y = 0; //小球经过的总路程 **double sum = 0;** for(int i =1;i<=10;i++){ //记录小球落下的高度 y = height ; //小球每次反弹后的高度 height = (**1.0**/2)*height; //因为第10次反弹的高度是不用加的 if(i<=9){ //小球的总路程 sum =y+height; } } System.out.println("共经过"+sum+"米"); System.out.println("第10次反弹的高度是:"+height+"米"); } }
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

y = height 每次循环都重置了 y 值,哪里是在累加……

JavaScript 代码算法示意

var height = 100
var sum = height;
for (var i = 2; i <= 10; i++) {
    sum += height;
    height /= 2
}
// sum == 299.609375,即总路程

// 最后一次是第10次弹起再下落的总长,所以再除以2才是弹起的高度
height /= 2;    // 0.09765625
查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 665 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信