-2

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->
     }

しかし、出力が正しく印刷されていません

4

3 に答える 3

1

これを削除します:System.out.println("digraph G {");forループから。つまり、これを変更します。

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
}

これは期待どおりに機能するはずです。

于 2013-02-25T04:22:06.353 に答える
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("}");
于 2013-02-25T04:55:23.273 に答える
0

System.out.println()の代わりにSystem.out.format ()メソッドを使用する

format() は、特定の方法で出力をフォーマットする場合に使用できます。

Oracle の System.out.format のチュートリアルを参照してください

于 2013-02-25T04:56:31.590 に答える