2017-11-08 22 views
-2

基本表を作成しましたが、見出しの下に表のトークンを書式設定しようとしています。ここで私が持っているものです。)私は(System.out.printfを知っ文字列出力の書式設定方法

NAME TYPE LINE# 
a prod 1 

私の文字列をフォーマットするための理想的な方法であるが、それはないでしょう:

NAME TYPE LINE# 
a prod 1 

これは私が望むものですメインクラスにある私のコードで動作します。私は文字列の配列を作成して、私が印刷するために作成した.toStringメソッドを使用します(prod 1)。ここに私のコードは次のとおりです。ここで

for (int j = 0; j < numOfSym; j++) { 
    System.out.println(symbols[j].toString()); 
} 

は私のシンボルのクラスです:

public class Symbol { 

    String type; 
    String name; 
    int lineNum; 

    // toString method 
    public String toString() { 
     return name + " " + type + " " + Integer.toString(lineNum); 
    } 
} 

String.Formatのはどちらか動作しません。 printf()が最善の選択肢でしょうか?どんなヘルプやリンクが役に立つでしょう。

+0

これは、Javadocの中のすべてのですが、それはいくつかの研究が必要になります。 [ヘルプ]にアクセスし、[ask]を読んでここに投稿するためのガイドラインをご覧ください。 (優秀な)文書を読むことによって答えられる質問は、話題外であると考えられます。 –

答えて

1

好きですか?

System.out.println("NAME TYPE LINE# "); 
String[][] data = {{"a", "prod", "1"}, {"b", "prod", "2"}};   

for (int i = 0; i < data.length; i++) { 
    System.out.println(String.format("%-5s %-5s %-5s", data[i][0], data[i][1], data[i][2])); 
} 

またはあなたが(あなたのSymbolクラス内)を好む場合:

@Override 
public String toString() { 
    return String.format("%-5s %-5s %-5s", type, name, lineNum); 
} 
関連する問題