irrelevent
irrelevent

Reputation: 27

java formatting tabular output

so i'm trying to format my output

System.out.println("Menu:\nItem#\tItem\t\tPrice\tQuantity");
    for(int i=0;i<stock.length;i++){
        System.out.println((i+1)+"\t"+stock[i].Description + "\t\t"+stock[i].price + "\t"+stock[i].quantity);

the output should be like

but it comes out as

Upvotes: 1

Views: 10255

Answers (1)

user6109179
user6109179

Reputation:

Java has a nice happy way to print out tables using System.out.format

Here's an example:

Object[][] table = new String[4][];
table[0] = new String[] { "Pie", "2.2", "12" };
table[1] = new String[] { "Cracker", "4", "15" };
table[2] = new String[] { "Pop tarts", "1", "4" };
table[3] = new String[] { "Sun Chips", "5", "2" };

System.out.format("%-15s%-15s%-15s%-15s\n", "Item#", "Item", "Price", "Quantity");
for (int i = 0; i < table.length; i++) {
    Object[] row = table[i];
    System.out.format("%-15d%-15s%-15s%-15s\n", i, row[0], row[1], row[2]);
}

Results:

Item#          Item           Price          Quantity       
0              Pie            2.2            12             
1              Cracker        4              15             
2              Pop tarts      1              4              
3              Sun Chips      5              2              

Upvotes: 5

Related Questions