我有以下代码:
for(int i=0;i<=100;i++) {
if(i % 11) {
System.out.println(i);
}
}
我只希望代码打印能被 11 整除的数字。它告诉我:类型不匹配:无法从 int 转换为布尔值
我究竟做错了什么?
我有以下代码:
for(int i=0;i<=100;i++) {
if(i % 11) {
System.out.println(i);
}
}
我只希望代码打印能被 11 整除的数字。它告诉我:类型不匹配:无法从 int 转换为布尔值
我究竟做错了什么?
你需要把它变成这样的条件:
if(i % 11 == 0) {
if((i % 11) == 0)
应使用==
操作员检查。i%11
返回默认情况下无法转换的 intboolean
并且编译器正在抱怨它。
像这样做
if(i % 11==0) {
System.out.println(i);
}
%
运算符返回一个int
,而只能if()
检查boolean
值。
您必须检查模数是否为零(意味着它可以被 11 整除):
if(i % 11 == 0) //...
试试这个(我已经改变了你的条件):
for(int i=0;i<=100;i++) {
if((i % 11) == 0) {
System.out.println(i);
}
}
if
表达式需要一个布尔值作为条件传递。
尝试这个:(i % 11) == 0
完整代码:
for(int i=0; i<=100; i++) {
if( (i % 11)==0 ) {
System.out.println(i);
}
}