为什么加等号就输出不出来也不报错?

public class For2 {

public static void main(String[] args) {
    for(int i = 101;i <= 200;i += 2) {
        boolean a = true;
        for(int j = 2;j </*=*/ i;j++) {
            if(i % j == 0) {
                a = false;
                break;
            }
            
        }
        if(a) {
            System.out.println(i);
        }
        
        
    }
    
}

}

交互式爱情
浏览 478回答 5
5回答

牧羊人nacy

因为,如果存在j=i这种情况a肯定为false,所以不会打印出来i你想想,一个整数,除以自己的余数是什么呢

暮色呼如

试试这样 public static void main(String[] args) { for(int i = 101;i <= 200;i += 2) { boolean a = true; for(int j = 2;j </*=*/ i;j++) { if(i % j == 0) { a = false; break; } if(a) { System.out.println(i); } } } }

偶然的你

同意二楼把if(a)语句放到第一个if语句下面(里面的for循环内)就可以了。就能加等号了。

收到一只叮咚

j<=i,j的下限是2,上限是i,内循环,当j=i的时候,j%i=0,a被赋值false,内循环结束,if判断false,无输出。每次外循环,情况都是一样,所以无输出

扬帆大鱼

i += 2很少有这样的写法啊,一般都是i++表示每次加一的意思
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java