需求:
世界最高峰是珠穆朗玛峰(8848.86米=8848860毫米),假如我有一张足够大的纸,它的厚度是0.1。请问折多少次,可以折成珠穆朗玛峰的高度?
思路:
这种不清楚要循环多少次的情况可以选择while实现。
分析步骤:
1.定义变量存储珠穆朗玛峰的高度,纸张的厚度。
double peakHeight = 8848860;
double paperThickness = 0.1;
2.使用while循环,循环条件为(纸张厚度小于珠穆朗玛峰的高度)内部控制纸张折叠,每折叠一次,纸张厚度为原来的两倍,循环外定义一个计数器变量,用于保存每循环一次纸张折叠让计数器变量 +1
int count = 0; //定义一个用于记录纸张折叠的次数
while (paperThickness<peakHeight){ //定义一个while循环控制纸张进行折叠
paperThickness*=2; //纸张的厚度多一倍
count++; //循环加一
}
System.out.println("纸张的折叠次数为"+count); //输出纸张折叠次数
System.out.println("纸张折叠后的厚度为"+paperThickness); //输出循环后得出的纸张折叠厚度