zoukankan      html  css  js  c++  java
  • Java 动态打印菱形代码之for循环的使用

    1.自定义空心菱形 

     1 void PrintRhombus() {
     2         int i, j;
     3         int s = 4;
     4         for (i = 1; i < 2 * (s + 1); i++) {
     5 
     6             if (i <= s + 1) {
     7                 for (j = 1; j < 2 * (s + 1); j++) {
     8                     if (j == s - i + 2 || j == i + s) {
     9                         System.out.print("*");
    10                     } else {
    11                         System.out.print(" ");
    12                     }
    13                 }
    14 
    15             } else {
    16                 for (j = 1; j < 2 * (s + 1); j++) {
    17                     if (j == 3 * s + 2 - i || j == i - s) {
    18                         System.out.print("*");
    19                     } else {
    20                         System.out.print(" ");
    21                     }
    22                 }
    23 
    24             }
    25             System.out.println();
    26         }
    27         System.out.println();
    28 
    29     }
    View Code
    1.自定义实心菱形 
      
     1     void PrintRhombus() {
     2         int i, j;
     3         int s=4;
     4         for (i = 1; i <2*(s+1); i++) {
     5             
     6             if(i<=s+1) {
     7                 for (j =1; j <2*(s+1); j++) {
     8                     if (j >= s-i+2  && j <= i + s) {
     9                         System.out.print("*");
    10                     } else {
    11                         System.out.print(" ");
    12                     }
    13                 }
    14                 
    15             }else {
    16                 for (j =1; j <2*(s+1); j++) {
    17                     if (j <= 3*s+2-i  && j >= i-s) {
    18                         System.out.print("*");
    19                     } else {
    20                         System.out.print(" ");
    21                     }
    22                 }
    23                 
    24             }
    25 
    26             System.out.println();
    27 
    28         }
    29         
    30         System.out.println();            
    31         
    32     }
    学习链接:http://www.runoob.com/java/java-loop.html //http://www.runoob.com/java/java-if-else-switch.html
     
    /*for循环嵌套实例:
    如何利用for循环打印一个菱形?
    
    */
    public class Test {
        public static void main(String[] args) {
            //定义变量
            int i,j,q;
            //打印菱形的上半部分,左边打印倒直角三角形的空格,右边打印等腰三角形
            for( i = 1;i < 6; i ++) //外循环控制行数,共打印五行
            {
                //左边打印倒直角三角形空格
                for( j = 5; j > i; j--) //与外循环关联,初始值不变,表达式变化,控制打印的列数
                {
                    System.out.print(" ");
                }
                //右边等腰三角形
                for( q = 1;q < i*2; q++) //与外循环关联,初始值不变,表达式变化,打印奇数列1,3,5,7,9
                {
                    System.out.print("*");
                }
                System.out.println();    //换行
            }
            //打印菱形的下半部分,左边为直角三角形的空格,右边为倒的等腰三角形
            for(i = 1; i < 5; i++) //外循环控制行数,共打印四行
            {
                //左边直角三角形空格
                for(j = 1;j <= i; j++) {    //与外循环关联,初始值不变,表达式变化,共打印五行
                    System.out.print(" ");
                }
                //右边倒直角三角形
                for( q = i*2; q < 9 ; q++) {    //与外循环关联,初始值变化,表达式不变,打印奇数列7,5,3,1
                    System.out.print("*");
                }
                System.out.println();    //换行
            }
        }
    }
    
    /*
    思路:
    菱形为上下两个等腰三角形(用两个外层for循环分别代表上下两部分)
    上部分为倒直角三角形 + 等腰三角形。外层for以要嵌套两个for循环分别打印出倒直角三角形(直角三角形打印空格)和等腰三角形
    下部分为直角三角形和倒等腰三角形。外层for同样要嵌套两个for循环打印直角三角形(直角三角形打印空格)和倒的等腰三角形
    
    */
    

      

     
      
  • 相关阅读:
    《设计原本》读书笔记01
    SQL SERVER存储过程的几种示例
    SQLSERVER2008 存储过程基本语法
    (转)C#程序开发中经常遇到的10条实用的代码
    (转)C#正则表达式Regex类的用法
    常用正则表达式
    (转)通过WMI获取网卡MAC地址、硬盘序列号、主板序列号、CPU ID、BIOS序列号
    checkbox:全选与反全选
    checkbox:获取所有已选中的值
    Quartz(任务调度)- Cron
  • 原文地址:https://www.cnblogs.com/Spring-Rain/p/9539150.html
Copyright © 2011-2022 走看看