案例:珠穆朗玛峰
**需求:**世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张最够大的纸,它的厚度是0.1毫米,请问折叠多少次能够折成珠穆朗玛峰的高度?
案例分析及部分代码:
因为要反复折叠,所以我们使用循环,但不知折叠多少次,这种情况更适合使用while循环。
while(条件判断语句) { 循环体 }
2.循环执行过程中每次纸张折叠,纸张的厚度要加倍,因此需要先定义纸张厚度,在循环中厚度加倍。
double paper=0.1;//初始厚度
while(条件判断语句){
paper*=2;
}
3.折叠过程纸张厚度大于珠峰就结束,因此继续执行的要求纸张厚度小于珠峰的高度。
int zf=8844430;
while(paper<=zf) {…}
4.设置一个计数器,在执行中累加,对应折叠了多少次。
int count=0;
while(paper<=zf) {
count++;
}
全代码:
public class Two {
public static void main(String[] args){
int count=0;
int zf=8844430;
double paper=0.1;
while(paper<=zf) {
paper*=2;
count++;
System.out.println("需要折叠:"+count+"次");
}
}
}
运行结果: