首页 > 解决方案 > 上下画星星

问题描述

我想得到这个结果,其中 _ 空格字符:

*___*
_*_*_
__*__
    public static void main(String args[]) {

        int level = 2; // quantity line
        int stars = 5; //quantity drawing stars

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

到目前为止,我已经画了,

*__
_*_
__*

而且不知道怎么画?

标签: java

解决方案


解决此类问题的步骤:

  1. 将 * 视为 1,将空格视为 0。现在我需要这个输出:
     10001
     01010
     00100
  1. 第一个 1 根据行号出现。第 0 列的第 0 - 1 行,第 1 列的第 1 - 1 行
  2. 第二个 1 出现在 (total columns-current Row index-1)
  3. 对于以上两个条件打印 1 否则为零。
        int rows=3; // quantity line
        int cols=5; //quantity drawing stars
        for(int i=0;i<rows;i++)
        {
            for(int j=0;j<cols;j++)
            {
                int k=cols-i-1;
                if(i==j || j==k)
                    System.out.print("*");
                else System.out.print(" "); 
            }
            System.out.println();
        }

推荐阅读