java中嵌套式for循环得到结果时如何结束所有循环?

2025-03-09 23:05:07
推荐回答(5个)
回答1:

添加一个flag
public class GetMarry {
public static void main(String[] args) {
int x=0,y=0,z=0;
boolean flag=false;
for(x=0;x<3;x++) {
for(y=0;y<3;y++) {
for(z=0;z<3;z++) {
if(x!=0&&x!=2&&z!=2&&x!=y&&y!=z&&x!=z) {
System.out.println("X="+x+",Y="+y+",Z="+z);

System.out.println("X将嫁给:"+(char)('A'+x));
System.out.println("Y将嫁给:"+(char)('A'+y));
System.out.println("Z将嫁给:"+(char)('A'+z));
flag=true;
if (flag) {
break;
}
}
}
if (flag) {
break;
}
}
if (flag) {
break;
}
}
System.out.println("X="+x+",Y="+y+",Z="+z);
}
}

还有一个方法,那就是在if里加一个return ,但是那个整个程序就结束了,
最后那个输出语句就不会输出

回答2:

添加标签,用下面的代码即可

public class GetMarry {
public static void main(String[] args) {
int x=0,y=0,z=0;
outLable: for(x=0;x<3;x++) {
for(y=0;y<3;y++) {
for(z=0;z<3;z++) {
if(x!=0&&x!=2&&z!=2&&x!=y&&y!=z&&x!=z) {
System.out.println("X="+x+",Y="+y+",Z="+z);

System.out.println("X将嫁给:"+(char)('A'+x));
System.out.println("Y将嫁给:"+(char)('A'+y));
System.out.println("Z将嫁给:"+(char)('A'+z));
break outLable;
}
}
}
}
System.out.println("X="+x+",Y="+y+",Z="+z);
}
}

回答3:

public class GetMarry {
public static void main(String[] args) {
int x=0,y=0,z=0;
for(x=0;x<3;x++) {
for(y=0;y<3;y++) {
for(z=0;z<3;z++) {
if(x!=0&&x!=2&&z!=2&&x!=y&&y!=z&&x!=z) {
System.out.println("X="+x+",Y="+y+",Z="+z);
System.out.println("X将嫁给:"+(char)('A'+x));
System.out.println("Y将嫁给:"+(char)('A'+y));
System.out.println("Z将嫁给:"+(char)('A'+z));
}
}
if(y==2)break;
}
if(x==1)break;
}
System.out.println("X="+x+",Y="+y+",Z="+z);
}
}

回答4:

for(int i=0;i<10;i++){
int sum = i;
if(sum == 9){
//doSomething
}
}
//最终结果sum为9,注意:只对最终的结果进行if判断如果为9则正确,如果不为9则错误

回答5:

break;