黑马程序员技术交流社区

标题: 【 已解决】 关于for循环 和if判断 求详解 [打印本页]

作者: 邵阳    时间: 2012-6-6 20:01
标题: 【 已解决】 关于for循环 和if判断 求详解
本帖最后由 邵阳 于 2012-6-7 14:55 编辑

for (int x=1;x<=100 ;x++)
                {
                        
                        if(x%7==0)
                        
                        System.out.println("x"+x);
                        if(x%7==0)
               
                        sum++;
                        
                }
                         System.out.println("sum"+sum);

可以得出x7
x14
x21
x28
x35
x42
x49
x56
x63
x70
x77
x84
x91
x98
sum14






能不能省略第2个if(x%7==0)
不过我试过啦出现
以下情况
x7
x14
x21
x28
x35
x42
x49
x56
x63
x70
x77
x84
x91
x98
sum100  //谁能解释一下这里为这么是sum100



楼主是想获取1~100之间7的倍数,并且打印是7的倍数的数,还有倍数的个数。
作者: 黑马张扬    时间: 2012-6-6 20:09
本帖最后由 黑马张扬 于 2012-6-6 20:11 编辑
  1. class Sum
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int sum=0;
  6.                 for (int x=1;x<=100 ;x++)
  7.                 {
  8.                          if(x%7==0)
  9.                         {
  10.                                 System.out.println("x"+x);
  11.                                 sum++;
  12.                         }   
  13.                 }
  14.             System.out.println("sum"+sum);
  15.         }
  16. }
复制代码
你给if加个大括号就可以了  因为他是在条件成立的时候才加数
作者: 李春阳    时间: 2012-6-6 20:10
for (int x=1;x<=100 ;x++)
                {
                        
                        if(x%7==0)
                        {
                             System.out.println("x"+x);
                             sum++;
                        }
                        
                }
                         System.out.println("sum"+sum);

作者: 黑马—陈磊    时间: 2012-6-6 20:11
for (int x=1;x<=100 ;x++)
           {
                  
                   if(x%7==0){
                           sum++;
                   System.out.println("x:"+x);
                   }               
                  
           }
作者: 吴小铁你好    时间: 2012-6-6 20:18
楼主可以改为:
  1. package zhangxiao;

  2. public class E {
  3.         public static void main(String []args){
  4.                 int sum=0;
  5.        
  6.                 for (int x=1;x<=100 ;x++) {  
  7.             if(x%7==0){
  8.             sum++;       
  9.             System.out.println("x"+x+"....sum"+sum);
  10.             
  11.          }
  12.         

  13.         }
  14. }
  15. }


复制代码

作者: 徐阳    时间: 2012-6-7 10:10
for (int x=1;x<=100 ;x++)
                 {
                        
                         if(x%7==0)
                       {  
                         System.out.println("x"+x);
                        
                 
                        sum++;
                       }
                 }
                          System.out.println("sum"+sum);

if 后面的执行的语句被你的;结束 用大括号加两条语句框起来才是 if中所要执行的语句,楼主是每次进入循环sum++了 所以是100
作者: 张天天    时间: 2012-6-7 13:12
循环了一百次了当然了就是100啊。加上那句判断只是7的公倍数才加啊
作者: 胡卿    时间: 2012-6-7 22:48
没有加括号,循环了100次  应该是
for(x=1;x<=100,x++)
{
    if( x%7==0)
   {
         System.out.println(“x=”+x);
         sum++;
    }
}




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