下边中的if(a+b==8)和if(m-n==6)用if就i能运行,改成了while就不能运行

package hero;

public class 小学算术题 {
public static void main(String[] args)
{
	int a,b,m,n;
	for(a=1;a<20;a++){
		for(b=1;b<20;b++)
		{
			if(a+b==8){
				for(m=1;m<20;m++)
				{
					for(n=1;n<20;n++)
					{
						if(m-n==6){
							if(a+m==14&b+n==10)
							{							
								System.out.println(a);
								System.out.println(b);
								System.out.println(m);
								System.out.println(n);
							}
					}
				}
			}
		}
}
}
}
}

 

                while (a + b == 8) {
                    for (m = 1; m < 20; m++) {
                        for (n = 1; n < 20; n++) {
                            if (m - n == 6) {
                                if (a + m == 14 & b + n == 10) {
                                    System.out.println(a);
                                    System.out.println(b);
                                    System.out.println(m);
                                    System.out.println(n);
                                }
                            }
                        }
                    }
                }

while里a和b都没有编号,所以条件一直成立,进入死循环

while(条件){
    //TODU 根据具体的业务逻辑 选择 下面的 关键字
    continue;//进入下一次循环
    break; //跳出循环体
}

 

while是符合条件一直运行,if是执行一次

while里a和b都没有变化,所以条件一直成立,进入死循环

条件语句和循环语句搞混了