黑马程序员技术交流社区

标题: 请问各位大神 为什么这个代码输出不出来 [打印本页]

作者: lzz520134    时间: 2016-8-12 21:41
标题: 请问各位大神 为什么这个代码输出不出来
class Day04_Test {
           public static void main(String[] args){
                double a=0.001;
                for(int i=0;;i++){
                        a=a*2;
                        if(a==8848){
                                System.out.println(i);
                        }
                }
        }
}
作者: lsq664908626    时间: 2016-8-12 22:09
坐等答案
作者: double_x    时间: 2016-8-12 22:14
你这个是求折纸折到珠穆朗玛峰那道题吧?a是一个小数  你一直乘以2  怎么会刚好乘到8848  应该是if(a>=8848){执行语句}
作者: luliang    时间: 2016-8-12 22:17
        class Demo4 {
        public static void main(String[] args) {
                double h =0.001;
                int count =0;
        
         for (;h<=8848 ;h*=2 ) {
                 count++;
         }
         System.out.println(count);

        
        }
        
}
while 循环
class Demo4 {
        public static void main(String[] args) {
                double h =0.001;
                int count =0;
        
        while(h<=8848){
         h*=2;
         count++;
         
         }
         System.out.println(count);
        
        }
        
}
        do while 循环;
class Demo4 {
        public static void main(String[] args) {
                double h =0.001;
                int count =0;
        do{
          h*=2;
        count++;
        }while(h<=8848);
        System.out.println(count);


        }
        
}
       这是三种方式   来计算这个




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