我有以下代码:简单的Java模问题
for(int i=0;i<=100;i++) {
if(i % 11) {
System.out.println(i);
}
}
我只想码打印的数量,如果它是整除11它告诉我这虽然:类型不匹配:不能从int到布尔转换
我在做什么错?
我有以下代码:简单的Java模问题
for(int i=0;i<=100;i++) {
if(i % 11) {
System.out.println(i);
}
}
我只想码打印的数量,如果它是整除11它告诉我这虽然:类型不匹配:不能从int到布尔转换
我在做什么错?
if((i % 11) == 0)
应该使用==
运算符来检查。 i%11
返回一个int,默认情况下不能转换为boolean
,并且编译器正在抱怨。
做这样的
if(i % 11==0) {
System.out.println(i);
}
的%
操作返回int
,而if()
只能检查boolean
值。
你需要把它变成这样的状况:
if(i % 11 == 0) {
你必须检查模数为零(这意味着它是整除11):
if(i % 11 == 0) //...
试试这个(我改变了你的条件):
for(int i=0;i<=100;i++) {
if((i % 11) == 0) {
System.out.println(i);
}
}
if
表达式要求布尔值为p视情况而定。
试试这个:(i % 11) == 0
全码:
for(int i=0; i<=100; i++) {
if((i % 11)==0) {
System.out.println(i);
}
}
你得到这个错误的原因是,你的病情'我%11'返回'int'价值,但是'if'语句期望有一个'boolean'。请参阅下面的答案。 – Jay 2011-04-08 15:57:02