对于圈半金字塔垂直 - Java

时间:2017-04-30 04:15:41

标签: java for-loop

enter image description here

怎么做?

这是我的代码

import java.util.*;
class ForLoopPyramids {
    public static void main(String args[]) {

        Scanner x = new Scanner (System.in);

        int a;
        System.out.println("The Input is: ");
        a=x.nextInt();
        int c;
        for (int i = 0; i < a; i++) {
              for (int j = 0; j < a; j++) {
                if (j <= i) {
                    c = a+j;
                    System.out.print("  "+i);
                } else {
                    System.out.print("   ");
                }
            }
            System.out.println();
        }
    }
}

但这是我的输出

The Input is: 
5
  0            
  1  1         
  2  2  2      
  3  3  3  3   
  4  4  4  4  4

但我希望我的输出是

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

1 个答案:

答案 0 :(得分:0)

一种方法,从i开始a并循环到0,您的内部循环也只需要从0i,你可以使用格式化的io。像,

for (int i = a; i > 0; i--) {
    for (int j = 0; j < i; j++) {
        System.out.printf("% 2d", i);
    }
    System.out.println();
}

根据请求输出了a的{​​{1}}

5

或者,使用Java 8+和 5 5 5 5 5 4 4 4 4 3 3 3 2 2 1 (s)可以实现

IntStream