有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Java中使用嵌套循环打印倒三角形?

我要打印的三角形如下所示:

123456
23456
3456
456
56
6

到目前为止,我一直在打印:

123456
12345
1234
123
12
1

下面是我提出的代码:

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

谁能帮我找出我做错了什么


共 (3) 个答案

  1. # 1 楼答案

    你在内部for循环中走错了方向

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

    通过在内部for循环中将j设置为i,线路将自行向前移动一个

    输出:

    123456
    23456
    3456
    456
    56
    6
    
  2. # 2 楼答案

    public class MyClass {
    public static void main(String args[]) {
    
    
    for(int i=1;i<7;i++){
    for(int j=i;j<7;j++)
        System.out.print(j);
    
    System.out.println("");
    }
    
    }
    }
    

    编辑:让我们考虑每个循环迭代所做的事情。 外部循环确保在进入下一行之前打印所有值。但是,如何打印所需的值

    这是由内部循环完成的。它开始打印当前迭代中i的值到n的值(这里n=6)。所以,在第一次迭代中,值是123456。在第二行(在下一行)中,值从2开始打印,即23456,以此类推。这就是你需要的模式

  3. # 3 楼答案

    你很接近。注意,内部循环的开始索引每次都需要更改。那么:

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