2016-12-05 6 views
2

行列の文字列出力をフォーマットするための簡単なJavaソリューションを見つけようとしました。行列には数値または文字列を含めることができます。行列の文字列出力をフォーマットするためのシンプルなJavaソリューション

ニース
[1, 2, 123456,  123] 
[12, 1234, 12,   1 ] 
[1, 123, 123456789, 12 ] 

:私のように正しく、列幅、右または左揃えで読める出力を期待するフォーマッタが

String result = new Matrix2StringFormatter<>(myMatrix).toString(); 

として呼び出すことができ

Integer[][] myMatrix = new Integer[][]{ 
     new Integer[] {1, 2, 123456, 123}, 
     new Integer[] {12, 1234, 12,  1}, 
     new Integer[] {1, 123, 123456789, 12} 

として定義することができますhaveは、ヘッダー、フッター、マージンなどを設定してクラスの機能を拡張したものです。 関連性はありますが、十分ではありません。

  1. Stackoverflow: matrix-to-string-output
  2. Stackoverflow: converting-a-matrix-to-string
  3. Class MatrixToString (use as parameter Matrix-class)

いくつかのよりよい解決策はありますか?

答えて

0

残念ながら私の要求には答えはありませんでした。だから、自分でJava 8クラスを開発したのです。このクラスは、上記の要件を正確に満たしています。 matrixformatter

String result = new MatrixFormatter<>(doubleMatrix).setHeader("Table header").setHeaderSeparator('-').setFooterSeparator('=').setSolumnSeparator("|").setAllignCell(AllignCell.CENTER).toString(); 

あなたはGitHubの中にこのクラスを見つけることができます: フォーマットオプションの設定でフォーマッタの呼び出しは次のように行うことができます

関連する問題