java学习笔记3

server/2024/10/19 23:50:00/

5. 多重循环和程序调试

5.1 多重循环

  • 多重循环是指循环中嵌套循环结构

  • 多重循环注意事项

    • 各种循环可以互相嵌套
    • 一般不要超过三层嵌套
    • 外层循环变化一次,内层循环要全部执行完
  • 代码

    **需求1:**使用循环嵌套输出10*10的矩形

    java">  public static void demo() {for (int i = 0; i < 10; i++) {System.out.print("第" + (i + 1) + "行: ");for (int j = 0; j < 10; j++) {System.out.print("*");}System.out.println("");}}
    

    **需求2:**输出n层的直角三角形

    java">  public static void demo() {Scanner sc = new Scanner(System.in);System.out.println("输入直角三角形的高: ");int n = sc.nextInt();if (n < 0) {System.out.println("三角形的层高不能为负数!");// 终止正在执行的函数,return后面的语句不会再执行return;}// 外层循环控制行for (int i = 0; i < n; i++) {// 内层循环控制*个数for (int j = 0; j <= i; j++) {System.out.print("*");}// 输出*结束,换行System.out.println();}}
    

    **需求3:**输出倒n层的直角三角形

    java">  public static void demo() {Scanner sc = new Scanner(System.in);System.out.println("输入直角三角形的高: ");int n = sc.nextInt();for (int i = 0; i < n; i++) {for (int j = 0; j < n - i; j++) {System.out.print("*");}System.out.println();}}
    

    **需求4:**输出n层靠右直角三角形

    java">  public static void demo() {Scanner sc = new Scanner(System.in);System.out.println("输入直角三角形的高: ");int n = sc.nextInt();// 行for (int i = 0; i < n; i++) {// 左边空格for (int k = 0; k < n - i - 1; k++) {System.out.print(" ");}// *for (int j = 0; j <= i; j++) {System.out.print("*");}// 换行System.out.println();}}
    

    **需求5:**输出n层平行四边形

    java">  public static void demo() {Scanner sc = new Scanner(System.in);System.out.println("输入平行四边形的高: ");int n = sc.nextInt();// 行for (int i = 0; i < n; i++) {// 空格for (int j = 0; j < n - i - 1; j++) {System.out.print(" ");}// *for (int j = 0; j < n; j++) {System.out.print("*");}// 换行System.out.println();}}
    

    **需求6:**输出n层等腰三角形

    java">  public static void demo() {Scanner sc = new Scanner(System.in);System.out.println("输入三角形的高: ");int n = sc.nextInt();for (int i = 0; i < n; i++) {// 空格for (int j = 0; j < n - i - 1; j++) {System.out.print(" ");}// *for (int j = 0; j < 2 * i + 1; j++) {System.out.print("*");}// 换行System.out.println();}}
    

    需求7: 9*9乘法表

    java">  public static void task() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(i + " × " + j + " = " + (i * j) + "\t");}System.out.println();}}
    

    **需求8:**输出数字金字塔

    java">  public static void task() {Scanner sc = new Scanner(System.in);System.out.println("输入一个整数(1-9):");int n = sc.nextInt();for (int i = 0; i < n; i++) {// 空格for (int j = 0; j < n - i - 1; j++) {System.out.print(" ");}// 数字for (int j = 0; j < 2 * i + 1; j++) {System.out.print(i + 1);}// 换行System.out.println();}}
    

    **需求9:**n层菱形

    java">public static void task() {Scanner sc = new Scanner(System.in);System.out.println("输入菱形的高:");int h = sc.nextInt();if (h <= 0) {System.out.println("菱形的高是正整数!");return;}// 如果是偶数,层高+1h = h % 2 == 0 ? ++h : h;// 获得当前菱形的上半部分的高int up = h / 2 + 1;int down = up - 1;System.out.printf("up=%d,down=%d\n", up, down);// 输出上半部分for (int i = 0; i < up; i++) {// 空格for (int j = 0; j < up - i - 1; j++) {System.out.print(" ");}// 输出*for (int j = 0; j < 2 * i + 1; j++) {if (j == 0 || j == 2 * i) {System.out.print("*");} else {System.out.print(" ");}}// 换行System.out.println();}// 输出下半部分for (int i = 0; i < down; i++) {// 空格for (int j = 0; j <= i; j++) {System.out.print(" ");}// 输出*for (int j = 0; j < 2 * down - 2 * i - 1; j++) {System.out.print("*");}System.out.println();}}
    

    **需求10:**一只公鸡值5元,一只母鸡值3元,而1元可买3只小鸡。现有100元钱,把钱正好花完,正好买到100只鸡。请问可买公鸡、母鸡、小鸡各几只

    java">  public static void task() {// 公鸡的个数for (int i = 0; i < 21; i++) {// 母鸡的个数for (int j = 0; j < 34; j++) {// 小鸡的个数/* for (int k = 0; k < 101; k++) {// 3只小鸡1元,一只小鸡是 1/3.0元,k只是 k/3.0元if (i * 5 + 3 * j + k / 3.0 == 100 && (i + k + j) == 100) {System.out.println("公鸡有:" + i + "只,母鸡有:" + j + "只,小鸡有:" + k);}}*/int k = 100 - j - i;if (i * 5 + 3 * j + k / 3.0 == 100) {System.out.println("公鸡有:" + i + "只,母鸡有:" + j + "只,小鸡有:" + k);}}}}
    

    **需求11:**鸡兔同笼问题:上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?

    java">  public static void task() {for (int i = 0; i <= 35; i++) {/*for (int j = 0; j <= 94; j++) {if (i + j == 35 && i * 2 + j * 4 == 94) {System.out.println("鸡有" + i + "只,兔有" + j + "只");}}*/int j = 35 - i;if (i * 2 + j * 4 == 94) {System.out.println("鸡有" + i + "只,兔有" + j + 

http://www.ppmy.cn/server/4983.html

相关文章

电商技术揭秘三十:知识产权保护浅析

电商技术揭秘相关系列文章&#xff08;上&#xff09; 相关系列文章&#xff08;中&#xff09; 电商技术揭秘二十&#xff1a;能化供应链管理 电商技术揭秘二十一:智能仓储与物流优化(上) 电商技术揭秘二十二:智能仓储与物流优化(下) 电商技术揭秘二十三&#xff1a;智能…

AppBuilder升级!工作流编排正式上线!AssistantsAPI开放邀测!

>>【v0.5.3版本】 上线时间&#xff1a;2024/4/14 关键发版信息&#xff1a; 低代码态&#xff1a;新增工作流&#xff0c;低代码制作组件 自定义组件&#xff1a;支持用户自定义创建组件&#xff0c;并被Agent自动编排调用
 工作流框架&#xff1a;组件支持流式编排…

XiaodiSec day017 Learn Note 小迪渗透学习笔记

XiaodiSec day017 Learn Note 小迪渗透学习笔记 记录得比较凌乱&#xff0c;不尽详细 day 17 主要内容&#xff1a; php 框架 thinkPHPyiilaravel 使用 fofa 搜索 thinkphp 市面上 thinkphp5 版本较多 url 结构 域名/.php(文件名)/index(目录)/index(函数名)模块名-控…

Matlab|【核心完整复现】基于目标级联法的微网群多主体分布式优化调度

目录 1 主要内容 程序主要内容 上层微网群模型 下层微网模型 模型流程图 2 部分程序 3 程序结果 4 下载链接 1 主要内容 之前发布了华电学报的复现程序《基于目标级联法的微网群多主体分布式优化调度》&#xff0c;具体链接为【防骗版】基于目标级联法的微网群多主体分…

每日算法4.20

力扣82删除链表中的重复元素 给定一个已排序的链表的头 head &#xff0c; 删除原始链表中所有重复数字的节点&#xff0c;只留下不同的数字 。返回 已排序的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,3,4,4,5] 输出&#xff1a;[1,2,5] 示例 2&#xff1a;…

windows Webrtc +VS2019 (M124)下载编译以及调通测试demo

下载depot tools 设置梯子 git config --global http.proxy 127.0.0.1:10000 git config --global https.proxy 127.0.0.1:10000 下载 $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 设置depot_tools目录为环境变量 下载webrtc # 设置系统代…

C++ 使用共享内存的进程通信方式模拟生产者消费者模型

编码环境如下 系统环境&#xff1a;linux 信号量&#xff1a;使用Linux操作系统的SystemV信号量 生产者代码如下 #include <iostream> #include <sys/sem.h> #include <sys/shm.h> #include <string.h>#define SEM_KEY 0x5678 #define SHM_KEY 0xAB…

发挥创意,绘制无限可能:draw.io 使用心得

在如今数字化的时代&#xff0c;图表和流程图已成为了我们生活和工作中不可或缺的一部分。而在选择图表绘制工具时&#xff0c;draw.io 无疑是一个备受推崇的选择。作为一款强大的在线图表工具&#xff0c;draw.io 提供了丰富的功能和易用的界面&#xff0c;使得用户能够轻松地…