我必须在java中获得这样的输出
digraph G
{
main -> parse -> execute;
main -> init;
main -> cleanup;
execute -> make_string;
execute -> printf
init -> make_string;
main -> printf;
execute -> compare;
}
我试过这个
PrintStream out = new PrintStream(new FileOutputStream("graph.gv"));
for(int i=0;i<1;i++)
{
System.out.println("digraph G {");
for (String node : visited)
{
System.out.print(node);
System.out.print("->");
out.write(node);
out.flush();
}
out.close();
System.out.println();
}
System.out.println("}");
}
这是我的输出
digraph G {
A->B->E->
}
digraph G {
A->B->D->E->
}
digraph G {
A->B->C->E->
}
digraph G {
A->B->C->D->E->
}
digraph G {
A->D->E->
}
但输出打印不正确
答案 0 :(得分:1)
从for循环中移除此System.out.println("digraph G {");
。也就是说,改变这个:
for(int i=0;i<1;i++)
{
System.out.println("digraph G {");
//Your remaining code
}
要:
System.out.println("digraph G {"); //Notice change here
for(int i=0;i<1;i++)
{
//Your remaining code
}
这应该按预期工作。
答案 1 :(得分:0)
使用它:
System.out.println("digraph G {"); // To print it once
for(int i=0;i<1;i++)
{
for(int j=0; j<visited.length()-1; j++) // Accessing one less node to avoid extra "->" at the end
for (String node : visited)
{
System.out.print(node);
System.out.print("->");
out.write(node);
out.flush();
}
System.out.print(node); //Printing the last node left
out.flush();
out.close();
System.out.println();
}
System.out.println("}");
答案 2 :(得分:0)
使用 System.out.format()方法代替 System.out.println()
如果要以某种方式格式化输出,可以使用format()。