很简单一道题,却搞错!记下提醒自己!
public static void main(String[] args){
int sum = 0;
int a = 1;
for(int i = 13; i<=1003; i+=10){
i = i*a;
sum += i;
a = -a;
}
System.out.println("aaa");
System.out.println(sum);
}
乍看下没什么问题,其实问题出现在循环内的第一句。i = i*a;
一运行,发现一直陷入死循环!以为是编译器问题,又欢乐eclipse来做。。。最后一看,问题出现在:i = i*a;
执行第一次循环的时候,i = i*a 值为13,第二次i经过赋值,变成了-23!不在循环条件13<= i <=1003内,结果出错,且控制台没有报错!!
程序改为:
public static void main(String[] args){
int sum = 0;
int a = 1;
for(int i = 13; i<=1003; i+=10){
sum += i*a;
a = -a;
}
System.out.println("aaa");
System.out.println(sum);
}