黑马程序员技术交流社区

标题: 关于1~100之间7的倍数的个数例子的疑惑? [打印本页]

作者: 黑马杜鹏    时间: 2013-4-9 11:17
标题: 关于1~100之间7的倍数的个数例子的疑惑?
本帖最后由 黑马杜鹏 于 2013-4-9 17:12 编辑

class ForTest
{
                        public static void main(String[] args)
                        {
                        int count =0;
                        for(int x=1;x<=100;x++)
                        {
                        if(x%7==0)
                        //System.out.println("x="+x);
                        count++;        
                        }
                        System.out.println("count="+count);
                        }
}

该例子输出的结果是count = 14.突然有个想法,怎么把每次记录的7的倍数和count 都打印出来?

作者: 冯超    时间: 2013-4-9 11:21

                        public static void main(String[] args)
                        {
                        int count =0;
                        for(int x=1;x<=100;x++)
                        {
                        if(x%7==0) {
                            //System.out.println("x="+x);
                              System.out.println("x="+x  + "   " + "i =:" + i) ;  
                       }
                        count++;        
                        }
                        System.out.println("count="+count);
                        }
作者: 陈圳    时间: 2013-4-9 11:57
  1. public static void test(){//测试100以内7的倍数
  2.                 int count=0;
  3.                 for(int i=1;i<100;){
  4.                         if(i<7)
  5.                                 i++;
  6.                         else i+=7;
  7.                         if(i<100&&i%7==0)
  8.                                 System.out.println("第"+(++count)+"个能整除7数为:"+i);
  9.                 }
  10.         }
复制代码

作者: 645420297    时间: 2013-4-9 11:58
还可以这样写public static void main(String[] args)
        {
           int sum=0;
           int x=1;
           while(x*7<=100)
                {
                 sum=x;
                                         x++;
           }
               
                System.out.println("sum="+sum);
作者: 张旺达    时间: 2013-4-9 12:31
和他们的意思差不多:
  1. class ForTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int x;
  6.                 int count = 0;
  7.                 for (x=7; x<=100; x+=7)
  8.                 {
  9.                         if(x%7==0)
  10.                                 count++;
  11.                         System.out.println("x="+x);
  12.                 }
  13.                 System.out.println("count="+count);
  14.         }
  15. }
复制代码

作者: Asan    时间: 2013-4-9 12:42
其实挺简单的,你已经写出来了,只是你没有注意而已!你仔细看看

test.jpg (65.71 KB, 下载次数: 7)

test.jpg

作者: Asan    时间: 2013-4-9 12:43
Asan 发表于 2013-4-9 12:42
其实挺简单的,你已经写出来了,只是你没有注意而已!你仔细看看

那个int i=0; 是多余的
作者: HM刘俊    时间: 2013-4-9 12:46
  1. class ForTest
  2. {
  3.                         public static void main(String[] args)
  4.                         {
  5.                         int count =0;
  6.                         for(int x=1;x<=100;x++)
  7.                         {
  8.                         if(x%7==0){  //加上{}
  9.                         System.out.println("x="+x);
  10.                         count++;        
  11.                         }
  12.            }
  13.                         System.out.println("count="+count);
  14.                         }
  15. }
复制代码
你自己的代码就可以实现了啊。
只要把if语句执行块用上{}即可。
作者: ld5128702    时间: 2013-4-9 12:53
  1. class Demo
  2. {
  3.      public static void main(String[] args)
  4.         {
  5.                 int count =0;
  6.                 for(int x=1;x<=100;x++)
  7.                 {
  8.                         if(x%7==0)
  9.                         {
  10.                            count++;
  11.                            System.out.println("x="+x+" "+"count"+count);
  12.                         }
  13.          }
  14.         }
  15. }
复制代码
这样,就可以了
作者: 胡滨    时间: 2013-4-9 15:31
楼主自己的代码就可以实现这个功能,为啥注释掉那个输出呢?加个大括号就ok啊。
class ForTest

{
        public static void main(String[] args)
        {
                int count =0;
                for(int x=1;x<=100;x++)
                {
                        if(x%7==0)
                        {  
                        System.out.println("x="+x);
                        count++;        
                        }
                }
        System.out.println("count="+count);
        }

}
如果筛选出来的数字还有用,可以用一个数组存储。
class ForTest

{
        public static void main(String[] args)
        {
                int count =0;
                int i=0;
                int[] a=new int[100];
                for(int x=1;x<=100;x++)
                {
                        if(x%7==0)
                        {  
                                a[i]=x;
                                i++;
                                count++;        
                        }
                       
                }
                for(int y=0;y<count;y++)
                {
                        System.out.println(a[y]);
                }
        System.out.println("count="+count);
        }

}

作者: 黑马杜鹏    时间: 2013-4-9 17:12
谢谢各位朋友的指点,看来我还是太年轻了,哈哈。。。




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