读书人

双重for中的break有疑问了!解决方案

发布时间: 2012-02-12 17:16:33 作者: rapoo

双重for中的break有疑问了!
//判断数组dealt成员的face值是否相等,并打印结果

for(int i=0;i <5;i++)
for(int j=0;j <5&&j!=i;j++){
String I=dealt[i].face;
String J=dealt[j].face;
if(I.equals(J)){

for(int m=0;m <5&&m!=i&&m!=j;m++)
for(int n=0;n <5&&n!=m&&n!=i&&n!=j;n++){
String M=dealt[m].face;
String N=dealt[n].face;
if(M.equals(N))showStatus( "该手牌有两对牌 ");
else
showStatus( "该手牌有一对牌但没有两对牌 ");

break;
}

}
else
showStatus( "没有一对牌 ");

break;

}

结果只会打印 "没有一对牌 ",中间的两条语句不打印 。

[解决办法]
多重循环跳出时用标志位:
boolean a = false;
for
{
......
for
{
....
if (true)
{
a = true;
break;
}
}
if (a)
break;
......
}

读书人网 >J2SE开发

热点推荐