嵌套循环:一个循环结构包裹另外一个循环,也就是将一个循环结构作为一个循环操作放在循环内部。

例一:编写程序,打印如下图案,要求该图案的行数由用户输入:

1

1  2

1  2  3

1  2  3  4

1  2  3  4  5

public class Day08_1 {public static void main(String[] args){for(int i = 1;i <= 5;i++){for(int j = 1;j <= i;j++){System.out.print(j + "\t");}System.out.println();}}
}

例二:我国古代数学家张丘建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的:5文钱可以买1只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么公鸡、母鸡、雏鸡各有多少只?请编程实现。

分析思路:假设公鸡i,母鸡j ,雏鸡k

I+j+k=100;

5*i+3*j+k/3=100 i<=20  j<=33

当i=1,j=1,k=

当i=2,j=1,k=

当i=2,j=2,k=?

public class Day08_2 {public static void main(String[] args){int a,b,c;for(a = 0;a <=20;a++){for(b = 0;b <=33;b++){c = 100 - a - b;if(5 * a + 3 * b + c / 3 == 100&&a + b + c == 100&&c % 3 == 0){System.out.println("公鸡:" + a +  "\t" + "母鸡:" + b + "\t" + "雏鸡:" + c);}}}}
}

例3:假设一个简单的在ATM上取款的过程如下:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”,结束交易。如果用户密码正确,再提示用户输入金额(amount),ATM只能输入100元的纸币,一次取钱数要求最低0元,最高1000元。如果用户输入的金额符合上述要求,则打印输出用户取的钱数,最后提示用户“交易完成,请取卡!”,否则提示用户重新输入金额。假设密码是111111,则呈现运行结果如下:

请输入密码:123456

请输入密码:111111

请输入金额:789

您输入金额不合法,请重新输入:2000

您输入金额不合法,请重新输入:600

您取了600元

交易完成,请取卡!

import java.util.Scanner;
public class Day08_3 {public static void main(String[] args){Scanner input = new Scanner(System.in);for (int i = 1; i <= 3; i++) {System.out.println("请输入密码:");int password = input.nextInt();if(password == 111111){System.out.println("请输入金额:");int amount = input.nextInt();while(!(amount%100 == 0&&amount >=0&&amount <=1000)){System.out.println("您输入金额不合法,请重新输入:");amount = input.nextInt();}if(amount%100 == 0&&amount >=0&&amount <=1000){System.out.println("您取了"  + amount +"元");System.out.println("交易完成,请取卡!");return;}}}System.out.println("密码错误,请取卡");}
}

例四:输入行数,打印菱形,要求如下:

  • 从控制台输入菱形的高度(行数)。如果用户输入的行数合法(奇数),则打印菱形;否则提示用户输入奇数。
  • 假设用户输入的行数为rows,则每行字符*的个数依次为1、3、5、7.。。、rows、。。。、7、5、3、1,程序运行结果如下所示:

请输入菱形的行数:4

请输入奇数:6

请输入奇数:7

*

*  *  *

*  *  *  *  *

*  *  *  *  *  *  *

*  *  *  *  *

*  *  *

*

import java.util.Scanner;
public class Day08_4 {public static void main(String[] args) {int rows = 0;Scanner input = new Scanner(System.in);System.out.println("请输入菱形行数:");rows = input.nextInt();while (rows % 2 == 0) {System.out.println("请输入奇数:");rows = input.nextInt();}int n = (rows + 1) / 2;for (int i = 1; i <= n; i++) {for (int j = 1; j <= n - i; j++) {System.out.print(" ");}for (int k = 1; k <= 2 * i - 1; k++) {System.out.print("*");}System.out.print("\n");}for (int i = n - 1; i >= 1; i--) {for (int j = 0; j < n - i; j++) {System.out.print(" ");}for (int k = 0; k < 2 * i - 1; k++) {System.out.print("*");}System.out.print("\n");}}
}

第一章第六天Java基础语法 嵌套循环相关推荐

  1. CSP考试笔记:C++篇(第一章:C++基础语法)(牛客网学习)

    一.C++的应用领域 1.大型桌面应用程序 2.大型网络后台(eg:Google的搜索引擎) 3.游戏引擎 4.数据库 5.操作系统,驱动程序 二.优缺点: 优:强大的抽象封装能力高性能.低功耗(为减 ...

  2. 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1.java关键字 abstract boolean break byte case catch char class const continue default do d ...

  3. JavaSE入门0基础笔记 第二章Java基础语法

    JavaSE入门0基础笔记 第二章Java基础语法 1.运算符 1.1算术运算符 1.1.1运算符和表达式 1.1.2 算术运算符 1.1.3字符的"+"操作 1.1.4 字符串中 ...

  4. JavaSE_第2章 Java基础语法

    JavaSE_第2章 Java基础语法 今日内容 数据类型 运算符 学习目标 了解进制 理解基本数据类型的自动类型转换 理解基本数据类型的强制类型转换 了解ASCII编码表和Unicode编码表 理解 ...

  5. 第2章 Java基础语法

    JavaSE_第2章 Java基础语法 学习目标 会使用单行注释和多行注释 能够辨识关键字 理解标识符的含义,正确定义标识符 理解Java中的基本数据类型分类 能够理解常量的概念 能够定义8种基本数据 ...

  6. Java基础语法知识你真的都会吗?

    第一阶段 JAVA基础知识 第二章 Java基础语法知识 在我们开始讲解程序之前,命名规范是我们不得不提的一个话题,虽说命名本应该是自由的,但是仍然有一定的"潜规则",通过你对命名 ...

  7. Java基础语法(数组)

    第4天 Java基础语法 今日内容介绍 u 流程控制语句(switch) u 数组 第1章 流程控制语句 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句 ...

  8. Java基础语法总复习

    前言: 对于Java基础语法部分目前就告一段落啦,系列文章目录是之前写过的部分笔记,当然,这些目录中只涉及了我初学时认为应当总结概括的或者知识点较多的章节,对于此篇文章中未细细考究的内容大家可以由系列 ...

  9. 第一章 认识Java 2019-09-28

    (2)JavaSE 核心技术 主要包括:认识Java.变量和运算符.流程控制语句.数组.方法.面向对象基础.面向对象高级特性.异常处理.工具类.集合.IO/NIO.多线程编程.JDK8.0新技术,JD ...

最新文章

  1. 几种移动开发技术的比较和选型
  2. DMA(2) S3C2410 DMA详解(其它的其实类似)
  3. 用 ReactJs 创建Mac版的 keep
  4. java正则表达式验证_Java中的正则表达式电话号码验证
  5. node repl环境
  6. android 刷机时缺少驱动无法识别
  7. slice matlab,Matlab画图之slice命令
  8. 吴恩达机器学习笔记目录
  9. 计算机考研人工智能选什么方向,我想报人工智能方向的研究生,应该选取什么专业?...
  10. IT行业都有哪些职位,初学者(0基础,新人)该如何选择,才能够快速进入这个行业?... 1
  11. git 进阶系列教程--push
  12. 卫生事业单位计算机科学与技术,卫生事业单位考试计算机科学与技术学习知识点.docx...
  13. Android车载系统app性能自动化测试规划
  14. Folly,一个被忽视的库
  15. Kubernetes kata-container 介绍
  16. 计算机网络英文论文,计算机网络与因特网论文(英文版).doc
  17. 基于cocos2dx的横版动作游戏制作(一)
  18. 苹果招聘人手继续改善Siri功能
  19. 这个阿里云工程师的甩锅能力,真的超级高水平!
  20. 博客搬家到Octopress(Mac)

热门文章

  1. n+1天 吾日三省吾身
  2. 将精确到时分秒的日期截取到年月日
  3. 空间点过程与随机测度(二):测度的故事
  4. 安全研究 # 二进制代码相似性检测综述
  5. scp 命令简明介绍
  6. bitly短网址v4版本的操作及sample code
  7. easyExcel 导出自动添加序号
  8. 如何导出微信公众号文章数据!
  9. EXCEL 公式中 sheet名字 用 单元格值 代替
  10. 会话支持软件行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)