Java字母金字塔

Ada*_*rad -1 java loops

试图弄清楚如何制作一个如下所示的金字塔:

例

15个级别和屏幕宽度是80.我无法弄清楚如何以最有用的方式打印它的模式.

Jor*_*lla 5

首先所有的

  • 在SO中发布问题是 强制性首先显示WhatHaveYouTried.
  • 缺乏努力将吸引你的问题的downvotes和结束标志.

第二,为了实现你的目标,除了et impera,让我们开始吧!

  1. 焦炭在java中的数值,所以你可以char c = 'a'c++来获得b
  2. 你必须从1开始增加2的大小
  3. 空间将减少与字符数量相反.
  4. 你必须n在每次迭代中重复增加char 次数,我在这个答案中找到了一个单行

知道这个:

public static void main(String[] args) throws Exception {
    // get the char (point 1)
    char c = 'a';
    // iterate till 15 increasing 2 (31) - point 2)
    for (int i = 1; i < 31; i +=2) {
        // print spaces (point 3) 
        // NOTE 40 = 80/2 (screen size)
        System.out.print(new String(new char[40-i/2]).replace("\0", " "));
        // print body of pyramid (point 4)
        System.out.println(new String(new char[i]).replace("\0", c +""));
        // get next letter (point 1)
        c++;
    }
}
Run Code Online (Sandbox Code Playgroud)

OUTPUT

                                    a
                                   bbb
                                  ccccc
                                 ddddddd
                                eeeeeeeee
                               fffffffffff
                              ggggggggggggg
                             hhhhhhhhhhhhhhh
                            iiiiiiiiiiiiiiiii
                           jjjjjjjjjjjjjjjjjjj
                          kkkkkkkkkkkkkkkkkkkkk
                         lllllllllllllllllllllll
                        mmmmmmmmmmmmmmmmmmmmmmmmm
                       nnnnnnnnnnnnnnnnnnnnnnnnnnn
                      ooooooooooooooooooooooooooooo
Run Code Online (Sandbox Code Playgroud)

点击这里查看工作演示