为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

交互式爱情 2019-03-01 10:45:31
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); } } } }
查看完整描述

5 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-03-01
?
暮色呼如

TA贡献1853条经验 获得超9个赞

试试这样

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);
            }
        }
      
    }
    
}
查看完整回答
反对 回复 2019-03-01
?
偶然的你

TA贡献1841条经验 获得超3个赞

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

查看完整回答
反对 回复 2019-03-01
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-01
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

i += 2很少有这样的写法啊,一般都是i++表示每次加一的意思

查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 477 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信