如何在java中打印反向数字模式三角形

时间:2017-03-31 07:01:30

标签: java loops for-loop nested-loops

这是我的代码:

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

当前输出:

   4
  34
 234
1234

期望的输出:

   1
  21
 321
4321

为了让我获得如上所示的所需输出,需要进行哪些更改?

5 个答案:

答案 0 :(得分:1)

让第一个循环(i)从1到4运行,第二个循环(j)从4运行到i。 这会反转您的输出。

答案 1 :(得分:1)

你做的每一件事都是正确的,只是最后一件事应该有一个很小的改变:

for (int k = 5-i; k >= 1; k--){

答案 2 :(得分:0)

你走了:

public static void main(String[] args) {
    for (int i = 1; i <= 4; i++) {
        for (int j = 4; j > i; j--) {
            System.out.print(" ");
        }
        for (int k = i; k >= 1; k--){
            System.out.print(k + "");
        }
        System.out.println();
    }
}

答案 3 :(得分:0)

您的循环不正确,您可以使用内联注释引用以下代码:

for (int i = 1; i <= 4; i++) { //iterate from 1 to 4  
    //Loop from i+1 to insert spaces first
    for (int j = i+1; j <= 4; j++) {
        System.out.print(" ");
    }
    //Loop from i to insert the number next to each other
    for (int j = i; j >= 1; j--) {
        System.out.print(j);
    }
    System.out.println(); //insert a new line
}

答案 4 :(得分:0)

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