2011-04-08 68 views
1

我有以下代码:简单的Java模问题

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

我只想码打印的数量,如果它是整除11它告诉我这虽然:类型不匹配:不能从int到布尔转换

我在做什么错?

+1

你得到这个错误的原因是,你的病情'我%11'返回'int'价值,但是'if'语句期望有一个'boolean'。请参阅下面的答案。 – Jay 2011-04-08 15:57:02

回答

0
if((i % 11) == 0) 

应该使用==运算符来检查。 i%11返回一个int,默认情况下不能转换为boolean,并且编译器正在抱怨。

0

做这样的

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

%操作返回int,而if()只能检查boolean值。

3

你需要把它变成这样的状况:

if(i % 11 == 0) { 
0

你必须检查模数为零(这意味着它是整除11):

if(i % 11 == 0) //... 
0

试试这个(我改变了你的条件):

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

if表达式要求布尔值为p视情况而定。

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

全码:

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