面试题随手练习(一)
来源:互联网 发布:背包问题 动态规划java 编辑:程序博客网 时间:2024/06/06 14:34
昨天小张哥面试,有四道上机题,我也想尝试着做做,就当解闷儿了,但是在做的过程中,还是发现了基础薄弱的地方。
第一道题:
算自由落体运动的弹力球,经过10次反弹后(每次消耗1/2能量)弹起的高度,以及经过的路程。
思路:
1.如果从10米落下,在弹起的高度就是5米,2.5米。。。
2.求和的次数比10次少一次,因为定义的sum初值就是球的初始高度
容易出错的地方:
1.每次加的1/2前一次的高度,开始我写的是递归调用,但是没有写对,因为我忽略了这是传值调用,所以方法中改变了high的高度,这只是复制出了一份,而原来的high还是10
for(int i=0 ;i<2;i++){ sum+=getNextHigh(high);}public double getNextHigh(Double high) { return high/2; }
2. (反弹三次为例)开始我算的总路程就是:10+5+2.5,最后发现还有回落的路程,所以应该是:10+5*2+2.5*2
代码实现:
import java.util.Scanner;public class Main { private Double high; public static void main(String[] args) { Main a=new Main(); Double sum; Scanner input = new Scanner(System.in); System.out.println("请输入高度:"); a.high = input.nextDouble(); sum=a.high; for(int i=0 ;i<9;i++){ a.nextHight(); sum+=a.high*2; } System.out.println("弹起总高度为:"+sum+"米"); System.out.print("最后一次高度为"+a.high+"米"); } public void nextHight(){ this.high=this.high/2; }}
阅读全文
0 0
- 面试题随手练习(一)
- 面试题-练习一
- 面试题(一)
- 面试题(一)
- 面试题 (一)
- 面试题 (一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- 面试题(一)
- [ 面试题 ] 常见面试题 (一)
- [概述] SAP增强基本含义及分类
- PHP7.2 相关命令
- C++中基于Crt的内存泄漏检测
- java 多线程 例子
- 计算组合数
- 面试题随手练习(一)
- 为中国梦添砖加瓦,海航集团怎么样
- 写在冬日的第一天——一个女程序员第十二年工作总结
- nginx的守护进程学习
- 2018 年你应该了解的十大技术趋势
- 磁盘空间的动态管理<Lvm>
- 记一次网易前端面试
- C 的数据类型
- Java开发手册(五):安全规约与单元测试