5

私は 8 パズルを解くための BFS アルゴリズムを持っています。プロジェクトの要件の 1 つは、最も浅い解を見つけるのにかかる時間を出力することです。

System.nanoTime()アプリケーションの実行時間を追跡するために使用しています。これは、指定されたパズルの大部分を 1 秒未満で解決できるためです。

私が抱えている問題は、私nanoTimeが秒に変換するときに、奇妙な形式で表示されることです。

次のコードが使用されます。

final long startTime = System.nanoTime();

//algorithm code removed for simplicity this all functions correctly


final long duration = System.nanoTime() - startTime;
final double seconds = ((double)duration / 1000000000);
System.out.println("Nano time total: " + duration);
System.out.println("solution Time : " + seconds + " Seconds");

これにより、次の出力が生成されます。

 Nano time total: 916110
 solution time : 9.1611E-4 Seconds 

また、フロートを使用して値を表現しようとしました。

おそらくフォーマット出力ステートメントを使用して、変換/表示するより良い方法を提供できる人はいますか?

私の質問を読んでくれてありがとう。

4

2 に答える 2

5
System.out.format("solution Time : %f Seconds", seconds);

従来の非指数浮動小数点数の場合。

于 2013-11-02T17:17:37.370 に答える