黑马程序员技术交流社区

标题: 有关for的疑问,大师求解 [打印本页]

作者: qq812392675    时间: 2016-2-27 12:09
标题: 有关for的疑问,大师求解

import java.util.Scanner;
class FooBizBaz{
        public static void main(String[] args){
                Scanner s = new Scanner(System.in);
                int a = 0;
                int b = 0;
                for(int num = 1;num == 0;){
                System.out.println("请输入一个书");
                num = s.nextInt();
                if(num>0)
                        a++;
                if(num<0)
                        b++;
                }
                System.out.println("正数个数为"  + a);

                System.out.println("负数个数为" + b);


               
                }
        }
结果为0,0
为什么呢,大师们求解
作者: huang_bing_hua    时间: 2016-2-27 12:35
for(int num = 1;num == 0;)表明当num ==0时,执行循环体;你num的初始化值是1,所以不执行循环体,执行循环以外的语句,只有最后的的输出语句了,而a,b值为0,0,所以结果是0,0
作者: flyhui    时间: 2016-2-27 12:42
我并没看懂你这个程序的需求是什么
作者: qq812392675    时间: 2016-2-27 12:53
import java.util.Scanner; class FooBizBaz{         public static void main(String[] args){                 Scanner s = new Scanner(System.in);                 int a = 0;                 int b = 0;                 for(int num = 1;num != 0;){                 System.out.println("请输入一个书");                 num = s.nextInt();                 if(num>0)                         a++;                 if(num<0)                         b++;                 }                 System.out.println("正数个数为"  + a);                  System.out.println("负数个数为" + b);                                    }                    }
作者: 小笼包    时间: 2016-2-27 13:40
if的条件判断写错了,不能执行for循环,

作者: xiejun    时间: 2016-2-27 13:52
条件写错了

作者: cumtbao    时间: 2016-2-27 14:02
for循环中,初始条件 num=1,判断条件num==0,很显然不能满足判断条件,因而进不去for循环语句,只能执行输出语句。
作者: qq812392675    时间: 2016-2-27 16:13
谢谢大家,我把for的 条件判断搞错了




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