Skip to content

How to output an ASCII star patterns in a table format?

I need help with my code issue. I have to write a program that displays a star pattern in a table format.

I am not exactly looking for the exact code, I would like to figure it out myself, so any suggestions and tips would be greatly helped.

star patterns in a table format

// Pattern A Loop
for (int PatternA = 0; PatternA <= 9; PatternA++) { // outerLoop Pattern A
    for (int PatternAI = 0; PatternAI <= PatternA; PatternAI++) { // Inner Loop
        System.out.print("+");
    }
    System.out.println();
}

// Pattern B Loop
for (int PatternB = 0; PatternB <= 10; PatternB++) { // outer loop Pattern B
    for (int PatternBI = 9; PatternBI >= PatternB; PatternBI--) { //Inner Loop
        System.out.print("+");
    }
    System.out.println();
}

Answer

Since you said you don’t want a full solution, here are some tips.

First, since your table will have to print material from both PatternAI and PatternBI on the same line, you should move those loops together. This will involve making the outer loop work for both. You can use more than one variable in a for loop:

for (int i = 0, j = 0; i < 10 && j < 2; i++, j++)

You also need some way to separate the patterns. You can use spaces, but they will vary in number (in fact the same way the +‘s do, so you can use that). Tabs also work and are a bit simpler. You will have to change between the number of tabs you use when the line gets a certain length however.

That’s about all there is to it. Let me know if my hints were helpful, or if there is a better way to phrase them.

Here’s the full code, if you get stuck:

// Pattern is used for both PatternA and PatternB in this outer loop
// Outer Loop
for (int Pattern = 0; Pattern <= 9; Pattern++) { 
    // Inner Loop PatternA
    for (int PatternAI = 0; PatternAI <= Pattern; PatternAI++) {
        System.out.print("+");
    }
    if (Pattern < 7)
        System.out.print("tt");
    else
        System.out.print("t");
    // Inner Loop PatternB
    for (int PatternBI = 9; PatternBI >= Pattern; PatternBI--) {
        System.out.print("+");
    }
    System.out.println();
}