黑马程序员技术交流社区

标题: 打印 以下图形 [打印本页]

作者: STARlove    时间: 2015-8-9 22:17
标题: 打印 以下图形
/*打印
                        * * * * *
                         * * * *
                          * * *
                           * *
                            *
       
        思路:
        1,用for嵌套循环
        2,最外层循环打印行数,里面并列两层,首先打印‘*’之前的空格,然后打印‘*空格’。
        3,注意换行。
*/
class ForForForDemo {
        public static void main(String[] args) {
                for(int x = 0;x < 5;x++){
                        //打印*之前的空格
                        for(int y = 0;y < x;y++){
                                System.out.print(" ");
                        }
                        //打印“* ”
                        for(int z = x;z < 5;z++){
                                System.out.print("* ");
                        }
                        System.out.println();
                }
        }
}




作者: STARlove    时间: 2015-8-9 22:50
jie   guo     

2015-08-09_221332.jpg (35.64 KB, 下载次数: 1)

2015-08-09_221332.jpg

作者: 一枚小小媛    时间: 2015-8-9 23:00
  1. package test_for;

  2. /**
  3. * @author 小媛
  4. *  根据需求,打印各种奇葩图形
  5. * 思路:
  6. * ①双重for循环
  7. * ②外层循环控制有多少行,内层循环控制每行有多少个
  8. * ③操作for循环的条件 达到需要的目的
  9. */
  10. public class GraphPrint {
  11.         public static void main(String[] args) {
  12.                
  13.                
  14.         }

  15.         /**
  16.          * 打印常规三角形
  17.          * size 表示行数

  18.         ●
  19.         ●●
  20.         ●●●
  21.         ●●●●
  22.         ●●●●●
  23.         
  24.          */
  25.         private static void printTriangle(int size) {
  26.                 for (int i = 1; i <= size; i++) {
  27.                         for (int j = 1; j <= i; j++) {
  28.                                 System.out.print("●");
  29.                         }
  30.                         System.out.println();
  31.                 }
  32.         }

  33.         /**
  34.          * 打印常规倒三角
  35.          * size 表示行数        
  36.          
  37.         ●●●●●
  38.         ●●●●
  39.         ●●●
  40.         ●●
  41.         ●
  42.          
  43.          */
  44.         private static void printTriangle2(int size) {
  45.                 for (int i = size; i >= 1; i--) {
  46.                         for (int j = 1; j <= i; j++) {
  47.                                 System.out.print("●");
  48.                         }
  49.                         System.out.println();
  50.                 }
  51.         }

  52.         /**
  53.          * 打印等腰三角形
  54.          * size 表示行数
  55.         
  56.             ●
  57.            ●●
  58.           ●●●
  59.          ●●●●
  60.         ●●●●●

  61.          */
  62.         private static void printTriangle3(int size) {

  63.                 for (int i = 1; i <= size; i++) {

  64.                         for (int j = size; j > i; j--) {
  65.                                 System.out.print(" ");
  66.                         }

  67.                         for (int j = 1; j <= i; j++) {
  68.                                 System.out.print("●");
  69.                         }
  70.                         System.out.println();
  71.                 }
  72.         }

  73.         /**
  74.          * 打印 空心&等腰  三角形
  75.          * size 表示行数

  76.             ●
  77.            ●●
  78.           ●  ●
  79.          ●    ●
  80.         ●●●●●

  81.          */
  82.         private static void printTriangle4(int size) {

  83.                 for (int i = 1; i <= size; i++) {

  84.                         for (int j = size; j > i; j--) {
  85.                                 System.out.print(" ");// 单空格
  86.                         }

  87.                         for (int j = 1; j <= i; j++) {
  88.                                 if (i == 1 || i == size || j == 1 || j == i) {
  89.                                         System.out.print("●");
  90.                                 } else {
  91.                                         System.out.print("  ");// 双空格
  92.                                 }
  93.                         }
  94.                         System.out.println();
  95.                 }
  96.         }

  97.         /**
  98.          * 打印棱形
  99.          * size 表示行数
  100.                
  101.                
  102.             ●
  103.            ●●
  104.           ●●●
  105.          ●●●●
  106.         ●●●●●
  107.          ●●●●
  108.           ●●●
  109.            ●●
  110.             ●

  111.          */
  112.         private static void printPrismatic(int size) {

  113.                 for (int i = 1; i <= size; i++) {
  114.                         for (int j = size; j > i; j--) {
  115.                                 System.out.print(" ");// 单空格
  116.                         }

  117.                         for (int j = 1; j <= i; j++) {
  118.                                 System.out.print("●");
  119.                         }
  120.                         System.out.println();
  121.                 }

  122.                 for (int i = size - 1; i >= 1; i--) {
  123.                         for (int j = size - 1; j >= i; j--) {
  124.                                 System.out.print(" ");// 单空格
  125.                         }
  126.                         for (int j = 1; j <= i; j++) {
  127.                                 System.out.print("●");
  128.                         }
  129.                         System.out.println();
  130.                 }
  131.         }

  132.         /**
  133.          * 打印空心棱形
  134.          * size 表示行数
  135.         
  136.         
  137.             ●
  138.            ●●
  139.           ●  ●
  140.          ●    ●
  141.         ●      ●
  142.          ●    ●
  143.           ●  ●
  144.            ●●
  145.             ●

  146.          */
  147.         private static void printPrismatic2(int size) {

  148.                 for (int i = 1; i <= size; i++) {
  149.                         for (int j = size; j > i; j--) {
  150.                                 System.out.print(" ");// 单空格
  151.                         }

  152.                         for (int j = 1; j <= i; j++) {
  153.                                 if (i == 1 || j == 1 || j == i) {
  154.                                         System.out.print("●");
  155.                                 } else {
  156.                                         System.out.print("  ");
  157.                                 }
  158.                         }
  159.                         System.out.println();
  160.                 }

  161.                 for (int i = size - 1; i >= 1; i--) {
  162.                         for (int j = size - 1; j >= i; j--) {
  163.                                 System.out.print(" ");// 单空格
  164.                         }
  165.                         for (int j = 1; j <= i; j++) {
  166.                                 if (i == 1 || i == size || j == 1 || j == i) {
  167.                                         System.out.print("●");
  168.                                 } else {
  169.                                         System.out.print("  ");
  170.                                 }
  171.                         }
  172.                         System.out.println();
  173.                 }
  174.         }

  175.         /**
  176.          * 打印等腰梯形
  177.          * size 表示行数
  178.          * upWidth 表示梯形上边长

  179.             ●●●●●
  180.            ●●●●●●
  181.           ●●●●●●●
  182.          ●●●●●●●●
  183.         ●●●●●●●●●
  184.                         
  185.          */
  186.         private static void printTrapezium(int upWidth, int size) {
  187.                 for (int i = 1; i <= size; i++) {

  188.                         for (int j = size; j > i; j--) {
  189.                                 System.out.print(" ");
  190.                         }

  191.                         for (int j = 1; j <= i + upWidth - 1; j++) {
  192.                                 System.out.print("●");
  193.                         }
  194.                         System.out.println();
  195.                 }
  196.         }

  197.         /**
  198.          * 打印空心等腰梯形
  199.          * size 表示行数
  200.          * upWidth 表示梯形上边长
  201.                
  202.             ●●●●●
  203.            ●         ●
  204.           ●           ●
  205.          ●             ●
  206.         ●●●●●●●●●

  207.          */
  208.         private static void printTrapezium2(int upWidth, int size) {

  209.                 for (int i = 1; i <= size; i++) {

  210.                         for (int j = size; j > i; j--) {
  211.                                 System.out.print(" ");// 单空格
  212.                         }

  213.                         for (int j = 1; j <= i + upWidth - 1; j++) {        //+ upWidth表示多打印upWidth个圆点; -1 是除去第一个,避免重复
  214.                                 if (i == 1 || i == size || j == 1 || j == i + upWidth - 1) {
  215.                                         System.out.print("●");
  216.                                 } else {
  217.                                         System.out.print("  ");// 双空格
  218.                                 }
  219.                         }
  220.                         System.out.println();
  221.                 }
  222.         }

  223. }
复制代码


再给楼主补充一下我对其它图形的理解。




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