有向流程图遍历问题

onechooselife onechooselife 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
真心求教!gef编程读取有向流程图有分支时hashmap是否适用?如是,该如何读取下一个节点,如否,改用什么方法?

流程图没有分支的时候是可以正常读取的

流程图有分支的时候只能来到if,后面的没有读下去
贴上部分代码,如需更多信息请留言
ReceiveModel receive = null;
ReplyModel myReply = null;
HashMap<String,InvokeModel> invokeModelHashMap = new HashMap<String,InvokeModel>();
HashMap<String,AssignModel> assignModelHashMap = new HashMap<String,AssignModel>();
HashMap<String,ReplyModel> replyModelHashMap = new HashMap<String,ReplyModel>();
HashMap<String,IfModel> ifModelHashMap = new HashMap<String,IfModel>();
HashMap<String,ElseModel> elseModelHashMap = new HashMap<String,ElseModel>();
HashMap<String,EndElseModel> endElseModelHashMap = new HashMap<String,EndElseModel>();
HashMap<String,EndIfModel> endIfModelHashMap = new HashMap<String,EndIfModel>();
HashMap<String,WhileModel> whileModelHashMap = new HashMap<String,WhileModel>();
HashMap<String,EndWhileModel> endWhileModelHashMap = new HashMap<String,EndWhileModel>();
HashMap<String,NodeModel> nodesModelHashMap = new HashMap<String,NodeModel>();

Iterator<NodeModel> i = diagram.getNodes().iterator();
while(i.hasNext()){
NodeModel nodeModel = i.next();
if(nodeModel instanceof ReceiveModel){
receive = (ReceiveModel)nodeModel;
}else if(nodeModel instanceof ReplyModel){
myReply = (ReplyModel)nodeModel;
replyModelHashMap.put(nodeModel.getName(),(ReplyModel)nodeModel);
}else if(nodeModel instanceof InvokeModel){
invokeModelHashMap.put(nodeModel.getName(),(InvokeModel)nodeModel);
}else if(nodeModel instanceof AssignModel){
assignModelHashMap.put(nodeModel.getName(),(AssignModel)nodeModel);
}else if(nodeModel instanceof IfModel){
ifModelHashMap.put(nodeModel.getName(),(IfModel)nodeModel);
}else if(nodeModel instanceof ElseModel){
elseModelHashMap.put(nodeModel.getName(),(ElseModel)nodeModel);
}else if(nodeModel instanceof EndElseModel){
endElseModelHashMap.put(nodeModel.getName(),(EndElseModel)nodeModel);
}else if(nodeModel instanceof WhileModel){
whileModelHashMap.put(nodeModel.getName(),(WhileModel)nodeModel);
}else if(nodeModel instanceof EndWhileModel){
endWhileModelHashMap.put(nodeModel.getName(),(EndWhileModel)nodeModel);
}else if(nodeModel instanceof EndIfModel){
endIfModelHashMap.put(nodeModel.getName(),(EndIfModel)nodeModel);
}
nodesModelHashMap.put(nodeModel.getName(),nodeModel);
}
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
onechooselife
Java EE 67,535 成员 225,843 内容