黑马程序员技术交流社区
标题:
求助一下,这段代码我为什么打不出来结果呢
[打印本页]
作者:
Green.Jack
时间:
2014-10-7 13:04
标题:
求助一下,这段代码我为什么打不出来结果呢
public class Practice {
public static void main(String[] args) {
int count = 0;
for(int i=10; i<= 99; i++){
for(int j=2; j<i;j++){
if (i%j==0) {
count++;
}
}
if (count==0) {
System.out.println(i);
}
}
}
}
我把count 外循环里面就可以,搞不明白,谢谢了哈
作者:
hike_2008
时间:
2014-10-7 13:37
你只有一个打印语句,count != 0 的话你就没有打印语句,控制台肯定没有结果输出的
作者:
朴日男
时间:
2014-10-7 14:00
public class Practice
{
public static void main(String[] args)
{
int count = 0;
for(int i=10; i<= 99; i++)
{
for(int j=2; j<i; j++)
{
if (i%j==0) //10%2=0, 有满足条件的, count的值就不为0了.
{
count++;
}
}
if (count==0) //这句在外循环内,内循环已经把count值改变了, 永远也不为0, 咋打印...
{
System.out.println(i);
}
}
}
}
复制代码
作者:
嘿~~
时间:
2014-10-7 15:54
当j=2时,内循环就执行了count++;
count就不在为0了。。你自然没法执行if(count==0)这个判断了。自然没有打印结果,
另外,你的count定义的是方法局部变量,通过双层for循环已经改变了它的值
作者:
Green.Jack
时间:
2014-10-7 17:01
朴日男 发表于 2014-10-7 14:00
哦哦,那为啥在外循环里面就改变不了呢,3q
作者:
LL.t
时间:
2014-10-7 17:11
Green.Jack 发表于 2014-10-7 17:01
哦哦,那为啥在外循环里面就改变不了呢,3q
你的程序里面 外循环语句体里面 是先执行内循环体 然后才是执行if(count == 0) 这时候count 的值已经在内循环里面被改变了 所以是永远不会执行if语句里面的
作者:
MR.Sun
时间:
2014-10-7 18:57
表示你的count不可能是0,所以结果是什么都没有。
作者:
〆_、Wali
时间:
2014-10-7 19:25
本帖最后由 〆_、Wali 于 2014-10-7 19:26 编辑
在内循环开始前就应该先将count赋值为0,这样count是否为0才能作为被计算的数是否为质数的标准,否则第一个不为质数的数执行内循环后,count就已经不为0了,你也不可能在打印出其他质数了!具体写法:
public class Practice
{
public static void main(String[] args)
{
int count = 0;
for(int i=10; i<= 99; i++)
{
count=0;
for(int j=2; j<i; j++)
{
if (i%j==0) //10%2=0, 有满足条件的, count的值就不为0了.
{
count++;
}
}
if (count==0) //这句在外循环内,内循环已经把count值改变了, 永远也不为0, 咋打印...
{
System.out.println(i);
}
}
}
}
不过最好的方法是使用一个boolean类型的判断标志,可以在程序执行开始之前定义 boolean flag =false;
再确定所判断的整数为质数时将flag置为true
作者:
郭.威
时间:
2014-10-7 22:03
。。。。。。。。。。。。。。。
作者:
wf111sxwf
时间:
2014-10-9 12:32
顺序执行到if的时候你的count明显不是0了所以没有输出语句
作者:
李天富
时间:
2014-10-9 16:36
count定义在循环里面的话,每次循环都会重新赋值为0,在外面则不会,所以第一次内循环结束后,count值已经不为0了,所以,你下面的打印语句永远执行不到。
作者:
chenglove1201
时间:
2014-10-9 17:28
你的count在内循环时不可能再为0了,怎么可能执行打印语句呢
作者:
家进
时间:
2014-10-9 20:41
局部变量在一对{}中有效
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2