栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java用while循环for循环解决有一张足够大的纸、折成与珠穆朗玛峰的高度。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java用while循环for循环解决有一张足够大的纸、折成与珠穆朗玛峰的高度。

一.解决思路, 定义变量存储珠穆朗玛峰的高度(peakHeight)、纸张的高度(paperThickness)。
使用while循环,循环条件是(纸张厚度<山峰高度),内部控制纸张折叠,每折叠一次,纸张厚度为原来两倍,循环外定义计数变量,每折叠依次让该变量+1。
(1)珠穆朗玛峰的高度=8848860
(2)纸张=0.1
二、执行代码while循环

  public static void main(String[] args) {
        double peakHeight=8848860;//山峰
        double paperThickness=0.1;//纸张
        int  count =0;
         //如果纸张的厚度小于山峰继折叠,直到高于山峰厚度退出
     while (paperThickness< peakHeight){
         //纸张每折叠厚度是他的两倍
      paperThickness=paperThickness*2;
      count++;//折叠的次数

    }
        System.out.println("纸张折叠次数"+count);
        System.out.println("纸张的厚度"+paperThickness);
    }

结果:

我们看到的结果已经大于珠穆朗玛峰了,所以要看折叠26次的高度,这里的结果是有效位是8位,
E呢是10的7次方,打开计算器输入纸张折叠的厚度除于2就是26次的高度。

我们再说说为什么不用for循环
(1)使用规范是:知道循环几次:使用for;
(2)不知道循环几次建议使用:while,不知道循环多少次的建议使用while,
显得更专业点。
我们也用for循环执行一次

public static void main(String[] args) {
    double peakHeight=8848860;//山峰
    double paperThickness=0.1;//纸张
    int  count =0;
     //如果纸张的厚度小于山峰继折叠,直到高于山峰厚度退出
 for (;paperThickness< peakHeight;){
     //纸张每折叠厚度是他的两倍
  paperThickness=paperThickness*2;
  count++;//折叠的次数

}
    System.out.println("纸张折叠次数"+count);
    System.out.println("纸张的厚度"+paperThickness);
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888743.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号