起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16046|回复: 17

[结贴] 怎么跳出Iterator循环

[复制链接]

649

主题

2068

帖子

3741

积分

论坛元老

Rank: 8Rank: 8

积分
3741
QQ
发表于 2013-9-9 11:18:10 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
                Table table = KSQL.select(sql, null, DATA_MODEL, null);
                Iterator<Row> tabs = table.iterator();
                while (tabs.hasNext()) {
                        Row CurRow = tabs.next();
                        if (CurRow.getString("Factivityid")= FCurActivityID){
                          Row CurRow = tabs.next();
                          if (CurRow.getString("Factivityid")<>""){
                                   IsGoApprove=True; else            IsGoApprove=False;
                                   break;
                          }
                        }
                }
用BREAK吗???
IMOM智能制造管理大师
官网:http://www.i-mom.cn
Tel:15905043811
发表于 2013-9-9 11:34:17 | 显示全部楼层
本帖最后由 liangyongfei 于 2013-9-9 11:36 编辑

break语句会使运行的程序立刻退出包含在最内层的循环,
continue,跳出本次循环,直接进入本层循环的下一次循环内,
return,跳出所有循环,
相关知识请上网详查,看您的需求是要怎样跳出循环体?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

649

主题

2068

帖子

3741

积分

论坛元老

Rank: 8Rank: 8

积分
3741
QQ
 楼主| 发表于 2013-9-9 13:35:11 | 显示全部楼层
Iterator 循环里面 条件成立就跳出来
IMOM智能制造管理大师
官网:http://www.i-mom.cn
Tel:15905043811
回复 支持 反对

使用道具 举报

发表于 2013-9-9 13:42:18 | 显示全部楼层
lbx888 发表于 2013-9-9 13:35
Iterator 循环里面 条件成立就跳出来

按您的代码来说,就使用了一层循环,可以使用break
但是我觉得您写的代码有问题。为什么要加第二句代码:Row CurRow = tabs.next();
这样的话,本行数据还没判断完又到了下一行去判断,而且不能准确知道是否有下一条记录。
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

649

主题

2068

帖子

3741

积分

论坛元老

Rank: 8Rank: 8

积分
3741
QQ
 楼主| 发表于 2013-9-9 13:44:51 | 显示全部楼层
我的代码意思是 如果循环得到条件 相等的这条 再取条件的下一条
IMOM智能制造管理大师
官网:http://www.i-mom.cn
Tel:15905043811
回复 支持 反对

使用道具 举报

发表于 2013-9-9 13:50:39 | 显示全部楼层
lbx888 发表于 2013-9-9 13:44
我的代码意思是 如果循环得到条件 相等的这条 再取条件的下一条

恩,那你确保下一条一定有值就行。不知道您遇到什么问题呢?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

15

主题

112

帖子

426

积分

中级会员

Rank: 3Rank: 3

积分
426
QQ
发表于 2013-9-9 20:53:54 | 显示全部楼层
我也觉着你代码有问题,语法有问题!

在你这循环中,因为你的是单循环,条件满足时,只需要break,就可以了,跳出以后就不再执行循环了。 如果用continue,也能跳出循环,但是还会执行下一条循环。
牛B的肖邦,也弹不出我内心的悲伤
回复 支持 反对

使用道具 举报

649

主题

2068

帖子

3741

积分

论坛元老

Rank: 8Rank: 8

积分
3741
QQ
 楼主| 发表于 2013-9-9 22:41:38 | 显示全部楼层
836005976 发表于 2013-9-9 20:53
我也觉着你代码有问题,语法有问题!

在你这循环中,因为你的是单循环,条件满足时,只需要break,就可以了 ...

我是要实现如下


环节ID              处理人 处理部门
checkActivity01    张三   信息部
checkActivity02    李四    信息部
checkActivity03    老五    人力资源部
checkActivity04    老吴    采购部
checkActivity04    老卢    采购部
checkActivity05    老王    总经办

假设表里有这么多数据

我传环节ID checkActivity03 循环这个表
然后我找到环节ID checkActivity03 这条记录
我再next下个位置 找出checkActivity04 两条记录
IMOM智能制造管理大师
官网:http://www.i-mom.cn
Tel:15905043811
回复 支持 反对

使用道具 举报

649

主题

2068

帖子

3741

积分

论坛元老

Rank: 8Rank: 8

积分
3741
QQ
 楼主| 发表于 2013-9-9 22:42:14 | 显示全部楼层
lbx888 发表于 2013-9-9 22:41
我是要实现如下

刚接触平台 写得有点问题
IMOM智能制造管理大师
官网:http://www.i-mom.cn
Tel:15905043811
回复 支持 反对

使用道具 举报

发表于 2013-9-10 08:48:11 | 显示全部楼层
lbx888 发表于 2013-9-9 22:42
刚接触平台 写得有点问题

那就用break,可是您一定要确保有下一条记录哦,否则会报错的。
建议您在取下一条数据时加一个条件:
if(tabs.hasNext()){
........代码........
}
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-20 10:42 , Processed in 0.073415 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表