【发布时间】:2011-10-12 18:59:25
【问题描述】:
我有一些角色,每个角色都有用户。
所以我的问题是根据否。角色和没有。选择的用户我必须使用 graphviz 创建一个图表。 Graphviz 语言就像 (A -> B;)(B -> C;)(B -> D;)(C -> E;)(D -> E;)(E -> F)
所以我必须根据我拥有的角色和没有的角色来创建图形语言。我选择的用户...
传入的字符串类似于 = (1CS_3Admin_1BOD_2SH_1Others)。 这种语言的图表可能是这样的:-
marapet 这就是我正在做的。
我的语言类似于 1CS_3Admin_1BOD_2SH_1Others 其中 1,3,1,2 是选择的用户数,例如 1CS 表示一个用户担任 CS 角色。现在我用 '_' 作为分隔符将它们分开。现在我得到一个字符串数组。所以真正的问题是从这个字符串数组值中创建一种语言。 这里'name'是我得到的字符串:-
Graphviz gv = new Graphviz();
gv.addln(gv.start_graph());
gv.addln("Start;");
if(name.startsWith("_"));
name=name.substring(1);
String[] str=null;
if(name.contains("_"))
str = name.split("_");
int sPreviousRepeat=0;
String sPrevious="";
int sCurrRepeat=0;
String sCurr="";
String finalInst="Start -> ";
for(int i=0;i<str.length;i++) {
sCurrRepeat=Integer.parseInt(String.valueOf(str[i].charAt(0)));
sCurr=str[i].substring(1);
if(i!=0){
sPreviousRepeat = Integer.parseInt(String.valueOf(str[i-1].charAt(0)));
sPrevious = str[i-1].substring(1);
}
if(sCurrRepeat==1){
if(i==0)
finalInst=finalInst+sCurr+";";
else
finalInst=finalInst + sPrevious+" -> "+sCurr+";";
}
else{
for(int j=0;j<sCurrRepeat;j++){
//cant figure out?????
}
}
}
【问题讨论】:
-
尽管由于本地图像路径而受到 +1 的诱惑,但您应该上传这些图像并使用其他 stackoverflow 用户可以访问的 url 引用它们。尤其是因为这可能有助于我们了解您的问题到底是什么。
-
实际上我的声望分数是 10 那就是我无法上传图片。上传图片需要 10+ 声望
-
直接上传到imgur.com并使用链接
-
我的问题是如何创建一个读取字符串并为graphviz创建语言的java程序。
-
真正的问题是什么,如何将来自 JSP 的内容转化为 DOT?也不确定该字符串实际包含什么。