简单Java模问题

简单Java模问题,java,modulus,type-mismatch,Java,Modulus,Type Mismatch,我有以下代码: for(int i=0;i<=100;i++) { if(i % 11) { System.out.println(i); } } for(int i=0;i 应使用=运算符进行检查。i%11返回一个默认情况下无法转换为布尔值的int,编译器对此表示不满。按此操作 if(i % 11==0) { System.out.println(i); } %运算符返回一个in

我有以下代码:

for(int i=0;i<=100;i++) {
            if(i % 11) {
                System.out.println(i);
            }
        }
for(int i=0;i
应使用
=
运算符进行检查。
i%11
返回一个默认情况下无法转换为
布尔值的int,编译器对此表示不满。

按此操作

if(i % 11==0) {
     System.out.println(i);
}

%
运算符返回一个
int
,而
if()
只能检查
布尔值。

您需要将其转换为如下条件:

if(i % 11 == 0) {

您必须检查模数是否为零(意味着它可以被11整除):

试试这个(我已经改变了你的状况):


for(int i=0;i
if
表达式要求作为条件传递布尔值

试试这个:
(i%11)==0

完整代码:

for(int i=0; i<=100; i++) {
    if( (i % 11)==0 ) {
        System.out.println(i);
    }
}

for(int i=0;出现此错误的原因是您的条件
i%11
返回一个
int
值,但
if
语句需要一个
布尔值。请参阅下面的答案。
if(i % 11 == 0) //...
for(int i=0;i<=100;i++) {
        if((i % 11) == 0) {
            System.out.println(i);
        }
    }
for(int i=0; i<=100; i++) {
    if( (i % 11)==0 ) {
        System.out.println(i);
    }
}