我有以下代码:
for(int i=0;i<=100;i++) {
if(i % 11) {
System.out.println(i);
}
}
我只想让代码打印出数字,如果它可以被11整除。它告诉我这个:类型不匹配:无法从int转换为布尔值
我做错了什么?
答案 0 :(得分:3)
你需要把它变成这样的条件:
if(i % 11 == 0) {
答案 1 :(得分:0)
if((i % 11) == 0)
应该使用==
运算符进行检查。 i%11
返回一个默认情况下无法转换为boolean
的int,并且编译器正在抱怨它。
答案 2 :(得分:0)
这样做
if(i % 11==0) {
System.out.println(i);
}
%
运算符返回int
,而if()
只能检查boolean
值。
答案 3 :(得分:0)
你必须检查模数是否为零(意味着它可以被11整除):
if(i % 11 == 0) //...
答案 4 :(得分:0)
试试这个(我改变了你的状况):
for(int i=0;i<=100;i++) {
if((i % 11) == 0) {
System.out.println(i);
}
}
答案 5 :(得分:0)
if
表达式需要将布尔值作为条件传递。
试试这个:(i % 11) == 0
完整代码:
for(int i=0; i<=100; i++) {
if( (i % 11)==0 ) {
System.out.println(i);
}
}