2017-11-08 6 views
-2

Ich habe eine grundlegende Tabelle erstellt und versuche, die Tokens in der Tabelle unter der Überschrift zu formatieren. Hier ist, was ich habe:Wie formatiert String Ausgabe Java

NAME TYPE LINE# 
a prod 1 

Dies ist, was ich möchte:

NAME TYPE LINE# 
a prod 1 

Ich weiß System.out.printf() wäre der ideale Weg, um meinen String formatiert werden, aber das bedeutet nicht arbeite mit meinem Code, der in der Hauptklasse ist. Ich habe ein Array von Strings erstellt und verwende die .toString-Methode, die ich zum Ausdrucken erstellt habe (a prod 1). Hier ist mein Code:

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

Hier ist meine Symbolklasse:

public class Symbol { 

    String type; 
    String name; 
    int lineNum; 

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

Die String.format funktioniert auch nicht. Würde printf() die beste Option sein? Jede Hilfe oder Verbindung wäre hilfreich.

+0

Es ist alles in der Javadoc, aber es wird einige Studie erfordern. Bitte besuche [help] und lies [ask], um die Richtlinien zum Posten zu erfahren. Fragen, die durch das Lesen der (ausgezeichneten) Dokumentation beantwortet werden können, werden als nicht themenbezogen angesehen. –

Antwort

1

Wie?

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])); 
} 

oder wenn Sie es vorziehen (innerhalb Ihrer Symbol Klasse):

@Override 
public String toString() { 
    return String.format("%-5s %-5s %-5s", type, name, lineNum); 
} 
Verwandte Themen