永发信息网

Java基础编程题

答案:5  悬赏:50  手机版
解决时间 2021-05-02 13:06

一个球从100米高度自由落下,每次落地后反弹回原高度的一半;再落下,求在第几次之后反弹高度小于0.1米,并计算在这一次落地时共经过多少米?

 

public class WrongCode {
 public static void main(String[] args) {
  double sn = 100.0;
  double hn = 100.0 / 2;
  int n;
  for (n = 1; n <= 20; n++) {
   if (hn < 0.1) {
    break;
   }
   sn = sn + 2 * hn / 2;
   hn = hn / 2;
  }
  System.out.println("在第" + (n - 1) + "次反弹的高度小于0.1米!");
  System.out.println("第" + (n - 1) + "次落地共经过" + sn + "米");
  System.out.println("第" + (n - 1) + "次反弹的高度是" + hn + "米");
 }
}

 

请问这段代码中的逻辑错误是什么?

最佳答案

这是我的答案。希望对你有所帮助


public class Test {
 public static void main(String[] args) {
  double high = 100;//高度
  double sum = 0;//经过路程
  for (int i = 1; i < 100; i++) {
   if (i == 1) {
    sum += high;//第一次落下单独计算
   } else {
    sum += high * 2;//第一次落下来还要弹上去,然后再下来。所有要乘以2
   }
   high = high / 2;
   System.out.println("第" + i + "次落地共经过" + sum + "米");
   System.out.println("第" + i + "次反弹的高度是" + high + "米");
   if (high < 0.1) {
    System.out.println("在第" + i + "次反弹的高度小于0.1米!");
    return;
   }
  }
 }
}

全部回答

打击你一下,你这里没有逻辑,谈不上逻辑错误

public class WrongCode {  public static void main(String[] args) {   double i ;//每次反弹高度   int count = 1;//计次数   double sum = 100;//计共进过路程   for( i = 100/2 ; i >= 0.1 ; count++ , sum = sum + i , i = i / 2 ){    System.out.println("第" + count + "次落地共经过" + sum + "米");    System.out.println("第" + count + "次反弹的高度是" + i + "米");   }   System.out.println("在第" + count + "次反弹的高度小于0.1米!");  } }

首先是小球是从1开始计算的,sn = sn + 2 * hn / 2;这句代码就不知道什么意思了

sn = sn + 2 * hn / 2;   hn是第n次反弹的高度,没必要除以2

而且应该放在if的前面,先加上后,再判断

System.out.println("在第" + (n - 1) + "次反弹的高度小于0.1米!");
这里三个(n - 1) 都应该是 n, 因为hn<0.1那里break时就是第n次反弹,没必要-1

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小时代林萧独白台词,求小时代3林萧顾里吵架那
在夏季为什么很多人吃不下饭?
色彩玩力潮牌沙龙在哪里啊,我有事要去这个地
为什么我总是梦到没有穿鞋,光着脚丫子?谁能帮
rmvb万能转换器3.0下载
怎样相信一个人?
华夏之家在什么地方啊,我要过去处理事情
HTC G6软件方面的一些问题!!
怎么删除拍拍购物分享
CPU温度总是很高且自动关机,换了风扇还是一
我真轻率做决定,签了协议书,我真难做到,当
42级狂战如何升级
免安装的2k10生涯模式存档在哪?
深圳哪里有射箭管?
沪上阿姨现煮茶饮(四中店)怎么去啊,有知道地
推荐资讯
帮帮我谁给我发个劲舞团客户端data 061.acv文
棉沙就有哪些料子的?
吃木瓜有好吃吗?
山西在哪考厨师
怎样才知道我喜欢他呢
什么样的学校最可靠?
电脑专家快进!急!
被抢劫应该怎么保护自己,再怎么帮助警方破案
南京有好中医愿意带徒弟吗
找一个免费的全能转换器!
季羡林的月是故乡明作者为什么要写世界各地美
哪种牌子的MP5好?价格不贵?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?