一些简单的java编程题(3) ————小球落地问题

本文探讨了Java编程中的一项趣味挑战——小球落地问题,详细解析了如何通过编程解决这个问题,适合初学者提升编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为博主原创文章,未经博主允许不得转载。

/* (程序头部注释开始)
版权声明:保留个人权利。  如程序有不当之处,敬请指正。

* 文件名称:  《一些简单的java编程题(3) ————小球落地问题》                          
* 作    者:  那就去巴黎       
* 完成日期:  2018 年  01 月   30 日
* 版 本 号:  JDK 9.0.1
    
问题描述:
一球从  h 米高度自由落下,每次落地后反跳回原高度的一半再落下。求它在 第  n 次落地时,经过的路程?第  n 次落地后反弹多高?

题目分析:
第一次落地时,经过的路程为起始高度,之后每次加上上一次后反弹高度的两倍。   
例如:第二次落地时,路程为 起始高度+第一次落地后反弹高度的两倍。
           第三次落地时,路程为 起始高度+第一次落地后反弹高度的两倍+第二次落地后反弹高度的两倍。

* (程序头部的注释结束)
*/

package questions;
import java.util.Scanner;  //导入java.util包中的Scanner这个工具类
public class Q3 
{
	public static void main(String[] args)
	{
		System.out.print("请输入小球第一次落地前的起始高度和落地反弹的次数:");
		Scanner scan = new Scanner(System.in);
		scan.useDelimiter("\\s");    // Scanner.useDelimiter 方法接受一个正则表达式。  "\\s" :正则表达式,表示以一个空白字符(A whitespace character)为分隔符。
		double h = scan.nextDouble();
		int n = scan.nextInt();
		distance(h,n);
		scan.close();  // 关闭配置内存
	}
	
	private static void distance(double h, int n)
	{
		double length=0;
		double firstdistance=h; // 把起始高度先提取出来
		for(int i=0;i<n;i++) 
		{
			length+=2*h;
			h/=2;
		}
		length-=firstdistance; //得到总路程
		System.out.println("第"+n+"次落地时,小球共经过"+length+"米,"+"第"+n+"次落地后反弹高度为"+h+"米");
	}

}
程序运行结果如下:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值