题目:16版.自由落体

该实验使用Java编程,要求创建名为SE_JAVA_EXP_E009的工程,模拟从10000米高空掉落的物体反弹。用户需输入弹跳次数,程序根据设定的反弹规则(每次落地后反弹到原高度的一半)计算并输出每次反弹的高度。当球体高度降为0时,停止计算并输出落地信息。
摘要由CSDN通过智能技术生成

1、实验要求

    本实验要求:模拟物体从10000米高空掉落后的反弹行为。

    1-1. 创建工程并配置环境:

        1-1.1. 限制1. 工程取名:SE_JAVA_EXP_E009。

        1-1.2. 限制2. 创建包,取名:cn.campsg.java.experiment。

        1-1.3. 限制3. 创建类,类名:FreeFall。

    1-2. 接收用户输入的弹跳次数:

        1-2.1. 要求用户输入球体反弹次数,提示语句:”请输入弹跳次数:”

    1-3. 落体计算规则:

        1-3.1. 当前实验设置球体的初始高度为:10000。

        1-3.2. 球体每落地一次,就会反弹至原高度的一半。

    1-4. 计算落体高度:

        1-4.1. 要求:按用户输入的弹跳次数,计算球体每次弹跳的高度。

        1-4.2. 如果球体在第N次弹跳后,已经落地(高度=0),则退出计算。

        1-4.3. 限制1. 使用for循环计算落体高度。

    1-5. 输出结果:

        1-5.1. 如第N次弹跳后球体已落地,则在控制台输出:"第" + N + "次反弹后,球体落地"(N为已经历的弹跳次数)。

        1-5.2. 如第N次弹跳后球体未落地,则在控制台输出:弹跳次数 + "次反弹后,当前球体的高度是:" + 计算所得的球体高度。

2、实现思路

    2-1. 按实验要求创建工程并配置环境。

    2-2. 接收用户输入的弹跳次数:

        2-2.1. 创建Scanner对象,设置参数:System.in:

  + 提示

  Scanner in=new Scanner(System.in);

        2-2.2. 调用Scanner的nextInt方法获取用户输入的球体弹跳次数。

        2-2.3. 调用close方法关闭Scanner。

    2-3. 根据落体计算规则,计算落体高度:

        2-3.1. 创建球体高度整型变量,默认值:10000。

        2-3.2. 创建for循环模拟反弹,循环边界为:用户输入的弹跳次数。

        2-3.3. 每次循环,球体高度 = 球体高度 / 2。

        2-3.4. 每次循环,判断球体的高度是否等于0(球体落地):

            1)如果已经落地,那么在控制台输出:"第" + N + "次反弹后,球体落地"(N为循环变量)。

            2)如果未落地,那么继续计算高度。

    2-4. 输出结果:

        2-4.1. 循环结束后,球体仍然未落地,则在控制台打印:用户输入的弹跳次数 + "次反弹后,当前球体的高度是:" + 球体高度变量。

package cn.campsg.java.experiment;
import java.util.Scanner;

public class FreeFall {

    public static void main(String[] args) {
        System.out.println("请输入弹跳次数:");//调用Sanncer,输入球体要弹跳的次数int N.
        Scanner in = new Scanner(System.in);
        int N = in.nextInt();
        in.close();
        int high=10000;//定义球体默认高度为10000.
        for(int i=1;i<=N;i++){
            high=high/2;//球体每次的反弹高度为上一次高度的一半
            if(high==0){//
                System.out.println("第"+i+"次反弹后,球体落地");//球体高度为0,此时i为球体的弹跳的最大次数
            }
        }
        System.out.println(N+"次反弹后,当前球体的高度是:"+high);//输出在N次之后,球体的反弹高度
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

板砖拍在墙上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值