黑马程序员技术交流社区

标题: 求助 while 作业题 [打印本页]

作者: 放手一搏    时间: 2016-4-15 18:41
标题: 求助 while 作业题
用while循环完成如下案例
纸张折叠成珠穆朗玛峰高度的次数
我为什么一点头绪都没有  珠峰是8848  纸要怎么叠  这个纸是无限大的?  能无限折叠吗   好乱
作者: Yoyoqiu    时间: 2016-4-15 19:04
class 8848 {  // 求和 纸张0.0001m 设可以无限折叠 折叠到8844多少次
        public static void main(String[] args) {
                /*思路
                循环体 用while完成
                使用方法
                返回值 conut次数  类型 int
                参数类型  double  0.001   int  8848
                自增 i++   自身翻倍 i= i*2
                */
                double x = 0.0001 ;// 定义 纸的 厚度 用double  单位 米
                int y = 8844 ;                //珠穆朗玛的高度 单位 米
        System.out.println(dou(x,y));  调用方法打印
        }
        public static int dou(double a , int b){
             int count = 0;    //  计数器
                 double i = a ;    // 定义循环初始值 一张纸的厚度
                 while (i<=b) {          //  判断条件  只到达到你要的高度 本题是8848
                         count++;                //  记录折叠几次
                         i=i*2;         // 每次折叠一次  厚度翻倍
                 }
             return count;      // 返回折叠次数
        }
}

作者: Yoyoqiu    时间: 2016-4-15 19:05
肯定是假设 纸是足够大 而且能无限折叠的
作者: 放手一搏    时间: 2016-4-22 15:25
Yoyoqiu 发表于 2016-4-15 19:04
class 8848 {  // 求和 纸张0.0001m 设可以无限折叠 折叠到8844多少次
        public static void main(String[]  ...

谢谢  我电脑坏了 没及时看到你的消息  谢谢了
作者: 布德鸟    时间: 2016-4-22 17:10
弄懂它想考你什么,它是要你求0.0001乘以多少次2可以超过8848,只是依附在现实背景中,不用太较真。

知己知彼,百战不殆!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2