Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'd like to try a right triangle asterisk. But I only got this output: (I can't place here the asterisk)

@ 
@@
@@@

what I want is this:

  @
 @@
@@@

Here's the code that I programmed:

 public class triangles {
public static void main( String[] args ) {

    for( int i = 1; i <= 10; i++ ){
        for( int j = 0; j < i; j++ ){
            System.out.print("*");

        }
        System.out.println();
    }

}
  }

Any ideas to share are greatly appreciated. I'm a java newbie. thanks.

See Question&Answers more detail:os

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

1 Answer

Your code never prints any spaces, that should be a problem.

You can use this simple approach:

for (int i = 0; i < 3; i++) System.out.println("  @@@".substring(i, i+3));

The logic is quite simple: you have the string with two spaces and three at-signs. The first line of output needs to be two spaces and a single at-sign, so that's the first three chars of the string. The second line should be one space and two at-signs—that's the three chars of the string after skipping the first one; and so on: you just slide through the string, each time skipping one more from the beginning and taking the next three chars.

Demo


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...