A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 滔哥   /  2012-7-21 00:16  /  11413 人查看  /  196 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我必须得看。。

点评

你必须给力  发表于 2012-7-21 00:35
回复 使用道具 举报
看下题目

点评

童鞋,麻烦改下ID  发表于 2012-7-21 00:35
回复 使用道具 举报
涛哥给力
回复 使用道具 举报
这题以前好像在哪里见过。。
回复 使用道具 举报
占楼 先   代码慢慢写
回复 使用道具 举报
dddddddddddddddddd
回复 使用道具 举报
3分题目啊,快抢啊,到10分就可以走流程咯
回复 使用道具 举报
怎么看不到题目呢?
回复 使用道具 举报
提示: 该帖被管理员或版主屏蔽
回复 使用道具 举报
据说回复可见!
回复 使用道具 举报
看题再说。
回复 使用道具 举报
我真的是自己写的.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复 使用道具 举报
提示: 该帖被管理员或版主屏蔽
签名被屏蔽
回复 使用道具 举报
本帖最后由 陈欢 于 2012-7-21 02:11 编辑

研究研究
回复 使用道具 举报
本帖最后由 王龙彪 于 2012-7-21 02:37 编辑

感觉一个方法就搞定了,所以没有定义一个类来创建对象后再调用.
分别定义了当前高度的变量hight, 记录总长度的变量sum,记录最后一次落下后弹起高度的变量shoot
用一个for循环模拟球落下的过程
这里是输出的结果:






这里是代码:
  1. //需求:100米落下的球,落地后跌回一半,求第10次落下时候,经过了多少米,反弹多高?

  2. public class BallTest
  3. {
  4.       public static void main(String[] args)
  5.       {
  6.               getBall();
  7.       }
  8.       
  9.       public static void getBall()
  10.       {
  11.               double hight = 100;//定义球的当前高度
  12.               double step = 2;//球跌落后的高度每次减半
  13.               double sum = 0;//记录总高度的变量
  14.               double shoot = 0;//记录最后一次跌落后弹起的高度
  15.               
  16.               for(int x = 1; x <= 10; x++)//使用一个循环模拟球跌落的过程,并记录数据
  17.               {
  18.                        if(x== 1)
  19.                            sum = hight;//第一次落地时
  20.                        else
  21.                        {
  22.                            hight /= step;//下一次跌落前的最高高度
  23.                            sum += hight * 2;
  24.                        }
  25.                      
  26.                       sop("这是第" + x + "次落地,落地时当前总高度为:" + sum);
  27.               }
  28.               shoot = hight;//最后一次跌落后弹起的高度
  29.               
  30.               sop("当第10次落下的时候,一共经过了:" + sum+ "米.");
  31.               sop("第10次落下后,反弹了:" + shoot + "米.");
  32.       }

  33.       public static void sop(Object object)//一个方便打印的函数
  34.       {
  35.               System.out.println(object);
  36.       }
  37. }

复制代码

评分

参与人数 1技术分 +3 收起 理由
蒋映辉 + 3

查看全部评分

回复 使用道具 举报
本帖最后由 王冰 于 2012-7-21 20:40 编辑

class  Ball
{
        public static void main(String[] args)
        {
                get(10);
        }

        public static void get(int n)
        {
                double  s = 100.0,hn = s/2;

                for(int i = 2 ;i<=n;i++)
                {
                        s = s + 2*hn;//第n次落地时一共经过的米数
                        hn = hn/2;//第n次反弹的高度
                }
               
                System.out.println("第"+n+"次落地时,共经过"+s+"米");
                System.out.println("第"+n+"次反弹的高度为"+hn+"米");
        }
}

运行结果如下:
第10次落地时,共经过299.609375米
第10次反弹的高度为0.09765625米
回复 使用道具 举报
占位置。。。。。。。
回复 使用道具 举报
看看题先
...
回复 使用道具 举报
很简单哇。。。 只要知道算法就行了   刚开始 数老是不对 后来 才想到 第十次只是弹起 没落地 这点很重要
package Exam8;
public class ball {

static double height = 100;
static double distance = 9;

public static void main(String[] args) {
   for(int i=1; i<10; i++) {
    distance = distance + height;
    height = height / 2;
   }
  
   System.out.println("路程:" + distance);
   System.out.println("高度:" + height / 2);
}

}

评分

参与人数 1黑马币 +1 收起 理由
刘福双 + 1 滔哥说得对

查看全部评分

回复 使用道具 举报
许瑞航 发表于 2012-7-21 00:59
很简单哇。。。 只要知道算法就行了   刚开始 数老是不对 后来 才想到 第十次只是弹起 没落地 这点很重要
p ...



结果:路程:209.21875
高度:0.1953125
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马