zoukankan      html  css  js  c++  java
  • For循环复杂练习

    for是循环当中经常用到的一个结构,练熟了才可以。

    练习-需求描述:

    在控制台打印以下形式的字符:

    * * * * *

     * * * *

      * * *

       * *

        *

    思路,首先分析需求的规律

      1、首先分析需求要求的字符的数据结构特点,他的最小单位是什么,这里是"* "一个星号+一个空格

      2、默认情况下,控制台打印字符都是靠左侧垂直排列的,但是现在第二行,第三行都不是靠左侧排列的,如果想让他按照需求排列的话,那么就得在*之前加" “(空格)补齐。

      3、这里为了方便看,我们先把空格用"-"来表示,那么以上需求就变成了:

    * * * * *

    -* * * *

    --* * *

    ---* *

    ----*

      4、现在我们要打印的就有两个结构了,一个是"* "结构,另外一个就是"-"结构,并且"-"要在"*"号之前打印;

        现在总共有五行,由此我们可以确定,外层循环需要循环五次。内层循环第一个打印"-"符号的是递增的,并且是从0开始递增的。但是打印"* "的这个是逐个递减的,也就是说初始值应该是最大值,并且比较的时候要用 > 大于号做比较

      代码:

      

    class ForFor{
    
    	public static void main(String[] args) {
    		
    
    
    		for (int x = 1; x<=5 ; x++ ) {
    			
    			for(int y = 1; y<x  ; y++){
    
    				System.out.print("-");
    
    			}
    
    			for (int i = 5 ; i>=x ; i-- ) {
    
    				System.out.print("* ");
    				
    			}
    
    			System.out.println();
    
    		}
    
    	}
    
    }
    

      此时输出的是:

      此时我们把"-"替换为" "空格之后就得到了最终的答案。

    For循环小结:

    1、for循环的嵌套循环的时候一定要确定,谁在变,谁再跟着谁变,最多的时候变成什么最低的变成什么。比如上述的例子,*最多输出5次,最少输出1次其次就是谁跟着谁变,顶层的连个子循环都是围绕着第一个循环的x在变化等到这些确定之后再根据最多、最少的关系,就能够确定嵌套循环该如何去写了。

    2、for循环还有while循环的区别,在for循环当中我们必须指定循环的次数,也就是说在for循环当中循环的次数是我们之前就确定的。只有当循环次数确定的时候才能够使用for循环,相反while循环结构就没有这个约束。这个也就是选择使用for 或者 while循环时的依据。

  • 相关阅读:
    对于excel的操作
    初试 ElasticSearch
    02-基本数据类型
    javascript 三种数组扁平化方式
    javascript数组操作方法
    javascript数组的16种循环(包含ES5、ES6)
    01-typescript-安装及编译
    nvm管理多版本node
    css块级居中的四种方法
    javascript try-catch-finally异常捕获
  • 原文地址:https://www.cnblogs.com/sunchuanzhen/p/3317775.html
Copyright © 2011-2022 走看看