日期:2014-05-20  浏览次数:20756 次

java中for循环
刚才本人在编写程序时,遇到一个问题,恳请各位大侠解答,
代码如下:
public class While {
public static void main(String[] args) {
for(int i=101;i<200;i+=2) {
for (int j=2;j<i;j++) {
if(i%j==0)
break;
}
System.out.println("i="+i);
}
}
}
为什么不能输出结果?
在此先谢过各位啦!thank you!!

------解决方案--------------------
LZ想要什么结果?你这个循环,不管第二层小循环会不会发生break,第一层循环都会输出
LZ是想根据第二层循环的条件来控制第一层输出的吧?
Java code
for(int i=101;i<200;i+=2) {
    boolean flag = false;
    for (int j=2;j<i;j++) {
        if(i%j==0) {
           flag == true;
           break;
        }
    }
    if (! flag) { //这里做个控制,如果没有找到有整除的数才打印(即打印101-200的质数)
        System.out.println("i="+i);
    }
}