当前位置: 代码迷 >> Java相关 >> 求一道JAVA题目!
  详细解决方案

求一道JAVA题目!

热度:142   发布时间:2012-08-09 22:40:01.0
求一道JAVA题目!
    一个球从100米高空落下,每次落地后弹回原高度的一半再落下,求这样球一共能弹多少米?和多少次?
最好能用FOR循环和WHILE循环都写次,谢谢
搜索更多相关的解决方案: 多少  JAVA  最好  

----------------解决方案--------------------------------------------------------
精确到多少米?多少次?
----------------解决方案--------------------------------------------------------
class Ball
{
    public static int i;
    public int fun(int m)
    {
        if(0 == m)
        {
            return 0;
        }
        else
        {
            i++;
            return m+fun(m/2);     
        }
    }
}
public class eg1
{
    public static void main(String args[])
    {
        Ball.i =0;
        Ball ball =new Ball();
        System.out.print("一共有"+ball.fun(100)+"米,共"+Ball.i+"次");
    }
}
不知道你想精确到多少,就按整数来求了。要有小数的话,自己改一下就行。
----------------解决方案--------------------------------------------------------
没看到,要用for和while啊,都是一样的
class Ball
{
    public void fun(int m)
    {
        int j = 0;
        int sum = 0;
        while(0 != m)
        {
            sum = sum + m;
            m = m / 2;
            j++;
        }
        System.out.println("一共有"+sum+"米,共"+j+"次");
    }
}
public class eg3
{
    public static void main(String args[])
    {
        Ball ball =new Ball();
        ball.fun(100);
    }
}

----------------解决方案--------------------------------------------------------
精确到0.1米,可以20次吗?
麻烦写下谢谢!!
----------------解决方案--------------------------------------------------------
  相关解决方案