黑马程序员技术交流社区

标题: 毕向东老师第36节里第二题能不能这么写呢 [打印本页]

作者: 懒羊羊    时间: 2014-10-10 13:09
标题: 毕向东老师第36节里第二题能不能这么写呢
第二题:1~100之间的7的倍数的个数,并打印。
            
              打印7的倍数的方法就用for循环:
               
               for(int x=1; x<100; x++){
                    if(x%7==0)
                       System.out.println("x="+x);
  }

这个没有疑问,计算能被7的倍数的个数能不能直接用
                       int count;             //定义变量count计算7的倍数的个数
                         count=100/7;       //7的倍数的个数直接用100除以7取整
                            System.out.println("count"+count);

这样写不是更节省资源吗,还是说这么写有什么弊端?
作者: 水竹    时间: 2014-10-10 13:14
显然实现的功能并不一样啊,前者把每个七的倍数都打印了出来,后者只打印出了倍数的个数
作者: 懒羊羊    时间: 2014-10-10 13:23
这个我知道,前边是打印1~100所有7的倍数的数,后边是计算7的倍数的个数,毕老师计算计算个数的时候直接把count加到了循环语句里,
             int count=0
              for(int x=1; x<100; x++){
                    if(x%7==0)
                       System.out.println("x="+x) ;
                          count++;
  }

          我是想问直接用count=100/7   取整行不行,如果不行为什么,或者说有什么弊端
作者: 水竹    时间: 2014-10-10 13:28
针对这道题来讲没什么弊端吧,不过按照你的想法应该是count=99/7,因为从1到100只有99个数。
作者: 笑脸迷人    时间: 2014-10-10 23:05
7-8有多少个能被7整除
7-88有多少个呢
m-n有多少个呢
可以多扩展扩展,不能扩展的思路,个人认为不算是很好的思路~~
作者: HM2014nuli    时间: 2014-10-11 08:17
节省是节省,但你把所有7的倍数都打印出来了,题目只是要个数,所以你这样并没有解决问题的根本




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