public class Chenyi { public static void main(String[] args) { int sum = 1; for (int i = 2; i <= 5;

public class Chenyi
{
public static void main(String[] args)
{
int sum = 1;
for (int i = 2; i <= 5; i++)
{
sum *= i;
i ++;
}
System.out.println(sum);
}
}

哪里错了 为什么输出的是 8?

第1个回答  2012-10-03
for循环里本身就有i++了,在循环体内你又添加了个i++,就变成了:
sum*=i 1*2=2;
i++ i=i+1=2+1=3;
i++ i=i+1=3+1=4;
判断 i=4<5;
sum*=i 2*4=8;
i++ 4+1=5;
i++ 5+1=6;
判断 i=6大于5,结束循环体,所以结果sum=8;本回答被提问者采纳
第2个回答  2012-10-03
1*2*4不是8是几?
for循环最后一个分号后语句会再for循环体执行完后再执行,你在里面又有一个i++,这样i每循环一次递增2.
第3个回答  2012-10-03
public class Chenyi
{
public static void main(String[] args)
{
int sum = 1;
for (int i = 2; i <= 5; i++)
{
sum *= i;
i ++;//这里多了
}
System.out.println(sum);
}
}本回答被网友采纳
相似回答
大家正在搜