*
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
生成的图形存储到一个二维数组中,并使用增强的for循环语句在控制台显示二维数组中内容。菜鸟求助!!!

解决方案 »

  1.   

    提供个代码, 自己调节getTable的参数,输出不同高度的图案package app.base;/**
     *
     * @author faith.huan 2019-09-29 23:27
     */
    public class PrintPic {    public static void main(String[] args) {
            char[][] table = getTable(4);        for (char[] chars : table) {
                for (char aChar : chars) {
                    System.out.print(aChar);
                }
                // 换行
                System.out.println("");
            }    }    /**
         * @param cnt 第一行星号左边的空白字符数
         * @return 二维数组
         */
        private static char[][] getTable(int cnt) {        int length = cnt * 2 + 1;
            char[][] chars = new char[length][length];        for (int i = 0; i < cnt; i++) {
                chars[i] = getRow(length, cnt - i);
                chars[length - 1 - i] = getRow(length, cnt - i);
            }
            chars[cnt] = getRow(length, 0);
            return chars;
        }    /**
         * 获取一行
         *
         * @param length 总字符数
         * @param cnt    开头&结尾空字符数
         * @return 一行字符数组
         */
        private static char[] getRow(int length, int cnt) {
            char[] chars = new char[length + 1];
            for (int i = 0; i < length; i++) {
                if ((i < cnt || i >= length - cnt)) {
                    chars[i] = ' ';
                } else {
                    chars[i] = '*';
                }
            }
            return chars;
        }}