黑马程序员技术交流社区

标题: 求大神,关于“1-100之间7的倍数的个数,并打印”的问题 [打印本页]

作者: 会说话的木头    时间: 2014-2-22 13:24
标题: 求大神,关于“1-100之间7的倍数的个数,并打印”的问题
class  Li
{
        public static void main(String[] args)
        {
                /*int sum=0,x=1;
                while(x<10)
                {
                        sum=sum+x;
                        x++;
                }
                System.out.println("sum="+sum);*/
                /*int sum=0,x;
                for (x=0;x<=10 ;x++ )
                {
                        sum+=x;
                }
                        System.out.println("for sum="+sum);*/
                        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=100,不加结果就正确了,count=14,百思不得其解,求大神
作者: kkopopo    时间: 2014-2-22 14:17
姐姐啊 你自己看看你的代码谁能读得懂?  能不能不腻的代码复制成标准格式 论坛可以加入的!就像我这样! 加入代码!
  1. public class Test5 {
  2.         public static void main(String[] args) {
  3.                 int count = 0;
  4.                 for (int x = 1; x <= 100; x++) {
  5.                         if (x % 7 == 0)
  6.                                 System.out.println("x=" + x);
  7.                         count++;

  8.                 }
  9.                 System.out.println("count=" + count);
  10.         }
  11. }
复制代码


作者: lixiuliang    时间: 2014-2-22 14:17
定义sum的语句被你注释掉了吧?打开试试
作者: 会说话的木头    时间: 2014-2-22 14:26
  1. class  Li
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 /*int sum=0,x=1;
  6.                 while(x<10)
  7.                 {
  8.                         sum=sum+x;
  9.                         x++;
  10.                 }
  11.                 System.out.println("sum="+sum);*/
  12.                 /*int sum=0,x;
  13.                 for (x=0;x<=10 ;x++ )
  14.                 {
  15.                         sum+=x;
  16.                 }
  17.                         System.out.println("for sum="+sum);*/
  18.                         int count = 0;
  19.                         for (int x=1;x<=100 ;x++ )
  20.                         {
  21.                                 if(x%7==0)
  22.                                 System.out.println("x="+x);
  23.                                         count++;

  24.                         }
  25.                         System.out.println("count="+count);
  26.         }
  27. }
复制代码

作者: 乔青山    时间: 2014-2-22 14:33
会说话的木头 发表于 2014-2-22 14:26

首先呢,没太看懂你的问题
你的意思大概是如果打印1-10的和为什么count是100,不打印是14是么?
我感觉你这个程序打不打印sum,count的值都是100.
因为你的if判断没加{},所以判断结束后只执行第一句,就是System.out.println("x="+x);
而count是不会根据if的判断执行的,即使说x被7整除了,输出x。
然后count++
所以你count的值一定是100,跟输不输出sum是没关系的
作者: 会说话的木头    时间: 2014-2-22 14:38
kkopopo 发表于 2014-2-22 14:17
姐姐啊 你自己看看你的代码谁能读得懂?  能不能不腻的代码复制成标准格式 论坛可以加入的!就像我这样!  ...

已经按你的弄了,显示是这样[img][/img]
作者: 会说话的木头    时间: 2014-2-22 14:40
乔青山 发表于 2014-2-22 14:33
首先呢,没太看懂你的问题
你的意思大概是如果打印1-10的和为什么count是100,不打印是14是么?
我感觉你 ...

:handshake 牛逼!!
作者: 会说话的木头    时间: 2014-2-22 14:43
乔青山 发表于 2014-2-22 14:33
首先呢,没太看懂你的问题
你的意思大概是如果打印1-10的和为什么count是100,不打印是14是么?
我感觉你 ...

加个{}就可以正确输出了,还是你厉害!
作者: 乔青山    时间: 2014-2-22 16:36
会说话的木头 发表于 2014-2-22 14:40
牛逼!!

:handshake都是初学者,彼此加油
作者: 张继鲁    时间: 2014-2-22 23:43
public class Test0 {
        public static void main(String[] args) {
                int count=0;
                for(int a=1;a<=100;a++){
                        if(a%7==0) count++;
                }
                System.out.println("1-100之间7的倍数的个数是:"+count);
        }
}




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