我能做出来,但是我想知道我这句**for(i=1;(i <= 100) & (i % 9 == 0) ;++i); ** 错在哪
代码片段如下
你把条件写在for循环里,那for循环一开始就不满足条件终止了
不满足条件啊。循环只会执行一次,就结束循环了。
i为1时,i%9==0是不满足条件的。
所以结束了循环。
for(i=1;i<=100;++i){
if (i % 9 == 0){
//输出
}
}
能整除9应该放在for循环里面,而不应该放在条件表达式中,另外&是按位相与,&&是逻辑与。
代码修改如下:
public static void main(String[] args){
int count = 0;
int sum = 0;
int i;
for(i=1;i<=100;++i){
if(i%9==0){ //在for循环里判断
System.out.println( "i="+i);
count++;
sum += i;
}
}
System.out.println("count="+count +" sum="+sum);
}//main end
第一次循环:i=1,(i<=100) & (i%9==0) 就相当于 true & false ,结果是false,不执行,循环结束。
没以后了
且符号 是&&
与符号 是 &
且符号是 判断符号 , 与符号是 运算符号
&这个是位运算符,你这应该用逻辑运算符&&