int sum = 0;
for(int i = 0,j = 0;j <= 7;i++)
{
sum = i*1+j*2+(7-i-j)*3;
if(sum % 4 == 0)
System.out.println("1的个数:"+i+" "+"2的个数:"+j+" "+"3的个数:"+(7-i-j));
if(i == (7-j))
{
i = 0;
j++;
}
}能帮我看下这段代码为什么输出的i的值不是7以下的数
for(int i = 0,j = 0;j <= 7;i++)
{
sum = i*1+j*2+(7-i-j)*3;
if(sum % 4 == 0)
System.out.println("1的个数:"+i+" "+"2的个数:"+j+" "+"3的个数:"+(7-i-j));
if(i == (7-j))
{
i = 0;
j++;
}
}能帮我看下这段代码为什么输出的i的值不是7以下的数
if(i == (7-j))
{
i = 0;
j++;
} 执行完这个if之后 又执行for的第三个表达式i++ i 还是被加1了 是不是你把执行先后顺序搞错了? 一点拙见
for(int i = 0,j = 0;j <= 7;i++)
这里的代码是错误的,应该改成
for(int i = 0,j = 0;i <= 7;i++) 这样i的值就在正常范围了。
int sum = 0;
for(int i = 0,j = 0;j <= 7;i++)
{
sum = i*1+j*2+(7-i-j)*3; if(sum % 4 == 0)
System.out.println("1的个数:"+i+" "+"2的个数:"+j+" "+"3的个数:"+(7-i-j)); if(i == (7-j))
{
i = -1; //这样i就从0开始下次循环了
j++;
} }