直接上图
可以看到此时变量a在内层循环,但在循环外输出a b的值显示变量a没有初始化。
接下来试一下让变量a在外层循环:
可以看到的是这次换b提示没有初始化了。
想了半天只想到出现这种情况的唯一一种可能,那就是Java语言中的多层循环中的内层循环在编译的过程中默认不执行。
有没有偶遇到此帖子的大佬给说一下出现这种可能的真正原因呢,万分感谢
代码如下:
public class Test04 {
public static void main(String[] args) {
int a ;//兔子的数量最多不超过40只
int b ;//鸡的数量最多不超过50只
boolean flag = false;
for (a = 1; a <= 40; a++){
for (b = 1; b <= 50; b++)
if (a + b == 50 && 4 * a + 2 * b == 160) {
flag = true;
break;
}
if (flag)
break;
}
System.out.printf("鸡的数量是%d\n兔子的数量是%d", b, a);
}
}