如何轻松打印数字三角形?使用for循环:)

时间:2014-01-11 09:20:29

标签: java loops

我有一个很大的问题。我参加了Informatic课程,我们找到了一份工作来创建一个我不知道如何制作的程序。你能帮我吗?

如果你输入一个写在变量中的可选高度,用Java编写一个程序,用*写这个三角形。编写数字4的示例如下所示:

      *
    * *
  * * *
* * * *

如果你有更多时间,请你解释一下你为什么这样做? 你怎么在纸上做这个?

1 个答案:

答案 0 :(得分:0)

我认为在一行中这样做很有趣:

public static void printTriangle(int size) {
    for (int i = 0; i < size; i++) System.out.println(Integer.toString(1 << (size - 1 - i), 2).replaceAll("^.", "").replaceAll(".", "  ") + Integer.toString(1 << i, 2).replaceAll(".", "* "));
}

使用位移功夫和Integer.toString()与基数2一起产生所需长度的字符串。


测试代码:

printTriangle(6);

输出:

          * 
        * * 
      * * * 
    * * * * 
  * * * * * 
* * * * * *