Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
216 views
in Technique[技术] by (71.8m points)

java - 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();
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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("		");
    else
        System.out.print("	");
    // Inner Loop PatternB
    for (int PatternBI = 9; PatternBI >= Pattern; PatternBI--) {
        System.out.print("+");
    }
    System.out.println();
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...