需求:
世界最高山峰珠穆朗玛峰(8848.86米 = 8848860毫米),假如有一张足够大的纸,它的厚度是0.1毫米.请问,折叠多少次可以折成山峰的高度?
思路:
这种不知道循环多少次的情况可以用while循环实现
分析:
① 定义变量存储珠穆朗玛峰的高度和纸张的厚度.
② 使用while循环,循环条件是(纸张厚度 < 山峰高度),内部控制纸张折叠.每折叠一次,纸张厚度变为原来的两倍,循环外定义计数变量count,每折叠一次该变量加1.
public static void main(String[] args){
//1.定义变量记录山峰高度和纸张厚度
double peakHeight = 8848860;//山峰高度
double paperThickness = 0.1;//纸张厚度
//3.定义一个变量用于记录纸张折叠的次数
int count = 0;//变量初始化
//2.定义一个while循环控制纸张进行折叠
while (paperThickness < peakHeight){
//每折叠一次,纸张厚度多一倍
paperThickness *= 2;
count++;//每折叠一次,count+1
}
System.out.println("纸张需要折叠" + count + "次才能折成珠穆朗玛峰的高度");
}
运行截图: