Java to print number triangle with nested loop

2019-09-21 08:37发布

I am trying to print the following using a nested loop in Java:

1 2 3 4 5 6
   1 2 3 4 5
      1 2 3 4
         1 2 3
            1 2
               1

but it's coming out like the following:

1 2 3 4 5 6
   2 3 4 5 6
      3 4 5 6
         4 5 6
            5 6
               6

Here is my code:

for (int i = 1; i <= 6; i++) {
    for (int j = 1; j < i; j++) 
    {
        System.out.print("  ");
    }
    for (int j = i; j <= 6; j++) 
    {
    System.out.print(j + " ");
    }
    System.out.println();
}

Any help would be appreciated. Thanks

6条回答
贼婆χ
2楼-- · 2019-09-21 08:47

Set this condition in inner second loop.

for (int j = 1; j <= 7 - i ; j++) 

Edit :

Complete code is

for (int i = 1; i <= 6; i++) {
    for (int j = 1; j < i; j++) 
    {
        System.out.print("  ");
    }
    for (int j = 1; j <= 7 - i ; j++) 
    {
        System.out.print(j + " ");
    }
    System.out.println();
}       
查看更多
3楼-- · 2019-09-21 08:55
for (int i = 2; i <= 7; i++) {
    for (int j = 2; j < i; j++) {
        System.out.print("  ");
    }
    for (int j = i; j <= 7; j++) {
        System.out.print(j-1 + " ");
    }
    System.out.println();
}
查看更多
We Are One
4楼-- · 2019-09-21 09:00

This is giving the same output ... Please check

public static void main(String[] args)
    { int c=0;

        for(int i=6;i>0;i--)
        {
            for(int k=0;k<c;k++)
              {
                  System.out.print("  ");
              }
              for (int j=1;j<=i;j++)
              {
               System.out.print(j +" ");
              }
              c++;
              System.out.println(" ");

        }  
    }

}
查看更多
该账号已被封号
5楼-- · 2019-09-21 09:02
int n = 7;

for (int i = 1; i <= n; i++) {

    for (int j = 1; j < i; j++) {
        System.out.println(" ");
    } 
    for (int j = i; j <= 6; j++) {              
       System.out.println(j +" ");
    }

}
查看更多
小情绪 Triste *
6楼-- · 2019-09-21 09:04

Try this :

for (int i = 1; i <= 7; i++) {
for (int j = 1; j < i; j++) 
{
    System.out.print("  ");
}
for (int j = 1; j <= 7-i; j++) 
{
System.out.print(j + " ");
}
System.out.println();  

}

查看更多
狗以群分
7楼-- · 2019-09-21 09:11

Your Program should be -

for (int i = 1; i <= 6; i++) {
    for (int j = 1; j < i; j++) 
    {
        System.out.print("  ");
    }
    for (int j = 1; j <= (6-i+1); j++) 
    {
    System.out.print(j + " ");
    }
    System.out.println();
}

Thanks

查看更多
登录 后发表回答