黑马程序员技术交流社区

标题: 新人,写了一个打印棱形的案列,比较繁琐,求简化 [打印本页]

作者: 江江会回来的    时间: 2015-9-18 00:12
标题: 新人,写了一个打印棱形的案列,比较繁琐,求简化
/**
* 题目:打印出如下图案(菱形)
*                        *
*                       ***
*                      *****
*                     *******
*                      *****
*                       ***
*                        *
*    1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制
*      行,第二层控制列。
*/

package prictice;

import java.util.Scanner;

public class PrintXing {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                int num = sc.nextInt();

                for (int i = 0; i < (num + 1) / 2; i++) {
                        for (int j = 0; j <= num / 2 - i; j++) {
                                System.out.print(" ");
                        }
                        for (int j = 0; j < 2 * i + 1; j++) {
                                if (j == 0 || j == 2 * i) {
                                        System.out.print("*");
                                } else {
                                        System.out.print(" ");
                                }
                        }
                        System.out.println();
                }
                for (int i = num / 2; i > 0; i--) {
                        for (int j = 0; j < num / 2 + 2 - i; j++) {
                                System.out.print(" ");
                        }
                        for (int j = 0; j < 2 * i - 1; j++) {
                                if (j == 0 || j == 2 * i - 2) {
                                        System.out.print("*");
                                } else {
                                        System.out.print(" ");
                                }
                        }
                        System.out.println();
                }

        }
}
-----------------------------------------
控制台随机输入一个数字,例如11(由于发帖这里行间距不一样,打印的图形比较奇怪)
11
      *
     * *
    *   *
   *     *
  *       *
*         *
  *       *
   *     *
    *   *
     * *
      *






作者: 一枝梨花压海棠    时间: 2015-9-22 00:09
兄弟,这个真不错,以前我也下过,一直比较繁琐
作者: sunsteam    时间: 2015-9-22 00:33
可以用字符数组




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2