黑马程序员技术交流社区
标题:
优化二维数组查询问题
[打印本页]
作者:
joeywr
时间:
2015-8-21 00:02
标题:
优化二维数组查询问题
/* 关于跳出多层循环问题
* 1.可以采用标号问题(但是不建议使用)
* 2.采用一个break和一个标记符号flag
* 要求:例如一个二维数组问题,要在二维数组中查找到某个数字。
* 思路:而是让外层的循环条件表达式的结果可以
* 受到里层循环体代码的控制,例如,要在二
* 维数组中查找到某个数字。
* */
int arr[][] ={{1,2,3},{4,5,6,7},{9}};
boolean flag = false;
int key = 1;
//可以在第一层的判断的时候就可以做旗帜标记,
//这样的话就有用了多个判断,可以早点结束这个循环
for (int i = 0; i < arr.length && ! flag; i++) {
for (int j = 0; j < arr[i].length; j++) {
if(key == arr[i][j])
{
//一旦找到了这个数就得跳出嵌套循环
//怎么做呢?
flag = true;
System.out.println(flag);
break;
}
}
}
复制代码
作者:
史柯
时间:
2015-8-21 09:01
我的建议有两个!
实现符合要求后停止多层循环的方法!
1:return 这个可以直接跳出来
2:把判断条件改到最大 i=arrr.length-1 查询到了最后也会自动结束的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2