07 流程控制 03嵌套循环

摘要:
//第一次通过的初始米数//(int i=2;//66.6666.6666//计算弹跳高度upHeight=downHeight*系数;//每次弹跳后通过的长度不计算长度=长度+downHeight+upHeight;=价格)的周期数{//2。循环条件部件//3。循环体代码num=货币/价格;
  嵌套循环

  用法,定义:在一个循环结构里面,内部有嵌套了另一个循环结构,就形成了嵌套循环, 在之前三种循环(for , while,do-while)基本结构都可以实现嵌套循环,还可以交叉使用。

  本质:1.内层循环充当了外层循环中的循环体内容,
                  2.当内层循环的循环条件为false时才会跳出内层循环,执行外层循环,
                  3.只有当外层循环结构中的循环条件为false时,才会结束整个嵌套循环
                  4.在嵌套循环结构中的循环总次数 = 内层循环次数 * 外层循环的次数

  解题思路:

      1.看清楚内外循环分清有几个变量找到切入点。

      2.首要的是先确定外层循环  确定外层循环的变量。

      3.循环次数是已知的,确定的,建议使用for循环。

题:

题:球从100米的高度自由落下,每次落地后反跳原高度的2/3再落下
        求它在第10次落地时,共经过多少米?第10次反弹多高?
    
       double downHeight = 100;//初试落下高度  第一次
                double coefficient = 2.0 / 3.0;// 弹起高度系数
                double upHeight = 100 * coefficient;// 初始弹起高度 第一次
                double length  = downHeight + upHeight; // 初始经过的米数 第一次
                //循环次数
                for (int i = 2 ; i <= 10; i++){
                    //循环体代码
                    //落下的高度 = 上一次弹起的高度
                    downHeight = upHeight;//  66.666  66.6666
                    //计算弹起的高度
                    upHeight = downHeight * coefficient;

                    //每次弹起之后的经过的长度  最后一次弹起的高度不计算
                    length = length + downHeight + upHeight;//经过的长度

                }
                //输出第10次落地式经过的长度
                System.out.println("第十次落地时经过的长度:"+ (length - upHeight)+"");

                System.out.println("第十次落地时经过的长度:" + upHeight +"");


    
题:给20块钱买可乐,每瓶可乐3块钱,喝完之后退瓶子可以换回1块钱,问最多可以喝到多少瓶可乐。
    int money = 20;//购买可乐钱      循环变量是money
        int price = 3 ;//可乐价钱
        int sum = 0 ;//购买可乐的瓶数累加和
        int change = 0 ;//零钱
        int num = 0;// 每次都买的瓶数
        //可以用for while do-while;
        //通常使用for循环的时候,循环次数是确定的,不确定一般很少用,或者余姚参与循环的变量的长度是确定的(及最大值最小值知道的)
        //不确定次数,不确定长度 ,我们就使用while  /  do-while循环
        //通常循环的结构是包含四部分:循环变量的迭代部分,灵活变化的 循环条件表达式和循环变量紧密结合的,
        while( money >= price){//2.循环条件部分

                //3.循环体代码
                num = money / price;//瓶数
                change = money % price;//零钱
                sum = sum + num ;//没次瓶数累加和
 题:个位数不为8的整数的累加值
    
     int sum = 0;
        for(int i = 1;i <= 100; i++){
            //限制条件:个位数不能为8
            if (i % 10 != 8){
                sum = sum +i;
            }
        }
        // 输出1-100以内的和
        System.out.println("1-100以内的尾数不为8的整数的和为:"+ sum);//4520
题: 求一下前100项所有是7包含7的倍数所有的整数的和  整数 % 7 ==0

    int sum = 0; //
        for (int i = 1 ; i <= 100 ; i++){
            //限制条件
            if (i % 7 == 0){
                sum = sum + i;
            }
        }
题: 正立的等腰三角形

               int line = 7; //行数为7
                for (int i = 1; i <= line ; i++){// i 行数  外层循环的变量
                     //内层循环  分成两部分: 空白  +  *
                     //空白部分  空格代替
                  for (int j = 1; j < line - i +1 ; j++ ){// j 空白  内层循环变量
                      // 输出空白部分
                      System.out.print(" ");//只输出空格不换行

                  }
                  // *的部分  *代替
                    for(int k = 1; k <= 2 * i - 1; k++){
                        //输出 * 的部分
                        System.out.print("*");//只输出*不换行

                    }
                    //当前面所有的信息输出完毕,此时换行
                    System.out.println();//换行不输出





                }
//输出前100项的7的倍数正整数的和
        System.out.println("前100项的7的倍数正整数的和为:"+ sum);
// 4.迭代部分
                money = num + change;//购买可乐的钱
          }

    

    

免责声明:文章转载自《07 流程控制 03嵌套循环》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇通过url 下载文件HyperLedger/Fabric JAVA-SDK with 1.1下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下调试C程序

正文:==================GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能...

C# 设置DateTime类型的变量值等于Null

做一个项目时,有个日期字段客户可输入可不输入值,直接把DateTime=Null时会出错,提示错误:无法将 NULL 转换成"System.DateTime",因为它是一种值类型   在网上查看下相关资料后,找到处理办法: Nullable<DateTime> now = DateTime.Now; Nullable<DateTime&g...

jdk1.8 对数组及arrays类对数组的操作与增强

数组的初始化有两种方式 静态初始化: 初始化时由程序员显示置顶每个数组的初始值,由系统决定数组长度。如: int[] a1 = new int[] {1,2,3,4}; 动态初始化:初始化时由程序员只指定数组长度,由系统为数组元素分配初始值。如: int[] a = new int[5];   写一个类测试一下 package chenlizhi;...

【转】dbx用法讲解

http://blog.chinaunix.net/uid-25544300-id-328735.html dbx 命令 用途 提供了一个调试和运行程序的环境。 语法 dbx [ -a ProcessID ] [ -c CommandFile ] [ -d NestingDepth ] [ -I Directory ] [ -E DebugEnvironm...

Scala编程快速入门系列(一)

目 录 一、Scala概述 二、Scala数据类型 三、Scala函数 四、Scala集合 五、Scala伴生对象 六、Scala trait 七、Actor 八、隐式转换与隐式参数 九、Scala JDBC 由于整理的篇幅较长,所以文章计划分三次发布。 一、Scala概述 1. Scala简介 Scala是一种针对JVM将函数和面向对象技术组合在一起的编...

【转】C# typeof()实例详解

转自:http://www.cnblogs.com/lm3515/archive/2010/09/02/1815725.html typeof(C# 参考) 用于获取类型的 System.Type 对象。typeof 表达式采用以下形式: System.Type type = typeof(int);  备注 若要获取表达式的运行时类型,可以使用...