黑马程序员技术交流社区

标题: 一球从100米高度自由落下,每次落地后反跳回原高度的一... [打印本页]

作者: 沐小北    时间: 2014-7-18 16:56
标题: 一球从100米高度自由落下,每次落地后反跳回原高度的一...
  1. /*
  2. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  3. */


  4. class  Ball
  5. {
  6.         public static void main(String[] args)
  7.         {

  8.                 //定义2个变量,h代表高度,s是经过的路程
  9.                 double h = 100, s = 100;        //从100米高度落下,所以s初始值就是100
  10.                 for (int i = 1; i < 10; i++);        //因为第一次已经计算在内(s=100),所以需要在落下9次.即循环9次
  11.                         s = s + h;        //每次落下的高度就是相加
  12.                         h = h / 2;        //每次高度都减少一半

  13.                 System.out.println("经过路程:" + s);
  14.                 System.out.println("反弹高度:" + h / 2);
  15.         }
  16. }
复制代码
輸出結果:經過路程:200;反彈高度:25;


作者: meibinlove    时间: 2014-7-18 17:15
我也打了一遍,和你的输出结果不一样
作者: meibinlove    时间: 2014-7-18 17:19
你的代码至少输出了十八个值
作者: meibinlove    时间: 2014-7-18 17:21
我看错了,你的for循环没加大括号,只有两个值
作者: 沐小北    时间: 2014-7-18 17:25
meibinlove 发表于 2014-7-18 17:21
我看错了,你的for循环没加大括号,只有两个值

哦  知道了  路程是不是一千米。
作者: More    时间: 2014-7-18 17:29
for循环跟一个分号  for循环等于没有定义
作者: meibinlove    时间: 2014-7-18 17:33
沐小北 发表于 2014-7-18 17:25
哦  知道了  路程是不是一千米。

咱用公式推一下:第一次是一百,第二次是一半也就是五十,以此类推结果不超过200;我也用的double类型,结果是199.8046875,第十次反弹是:0.1953125
作者: 单线程xia    时间: 2014-7-18 17:33
看到循环后面一个大大的分号
作者: meibinlove    时间: 2014-7-18 17:35
单线程xia 发表于 2014-7-18 17:33
看到循环后面一个大大的分号

没注意:L
作者: Imp_x    时间: 2014-7-18 23:47
meibinlove 发表于 2014-7-18 17:33
咱用公式推一下:第一次是一百,第二次是一半也就是五十,以此类推结果不超过200;我也用的double类型, ...

在思路上我有一个问题想问一下= =第一次直接落地是100米  然后是反跳原高度的一半对吧  那反弹上去就50米  又重新掉下来也50米 所以一上一下这样路程不也100米吗??然后50米 25米 12.5米 ......这样子  难道不应该是这样的吗0.0问的是共经过多少米
作者: 沐小北    时间: 2014-7-19 09:06
More 发表于 2014-7-18 17:29
for循环跟一个分号  for循环等于没有定义

哦   多大了一个,但是我打印的结果 确实是 1000米的。
作者: 沐小北    时间: 2014-7-19 09:07
Imp_x 发表于 2014-7-18 23:47
在思路上我有一个问题想问一下= =第一次直接落地是100米  然后是反跳原高度的一半对吧  那反弹上去就50米 ...

我们的思维是一致的,呵呵……
作者: Imp_x    时间: 2014-7-19 12:03
自己敲了一遍代码= =算出来路程S=299.609375  反弹高度0.09765625
作者: scoto263    时间: 2014-11-17 15:44
哥们,感觉你的好像不对呀100米弹了10次还能弹到25米的高空??
作者: scoto263    时间: 2014-11-18 00:02
嗯,代码很精练
作者: ye361571404    时间: 2014-11-19 14:19
meibinlove 发表于 2014-7-18 17:33
咱用公式推一下:第一次是一百,第二次是一半也就是五十,以此类推结果不超过200;我也用的double类型, ...

我和你的一样
作者: onETT    时间: 2015-5-9 04:56
ye361571404 发表于 2014-11-19 14:19
我和你的一样

只算下落的,没算弹起的!
作者: fanxin_meng    时间: 2015-7-3 16:23
Imp_x 发表于 2014-7-19 12:03
自己敲了一遍代码= =算出来路程S=299.609375  反弹高度0.09765625

这个应该是正解吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2