for循环与嵌套(水仙花数与三角形的打印)
## 一.for循环
语法:
for(开始区间; 结束区间; 修改循环条件){
循环体;
}
> 开始区间:初始化表达式(确定开始)int i = 1;
> 结束区间:逻辑表达式(确定结束) int i <= 5;
> 修改循环条件:控制循环条件的表达式,改变变量的值 i++
执行流程:
> 1. 初始化表达式,只执行1次
> 2. 逻辑表达式 如果为true,则执行循环体 如果为false,则结束循环
> 3. 当循环体执行完后,执行修改循环条件的语句
> 4. 接下来,回到第2步,直到条件表达式的值为false,则循环结束
例子:水仙花数(所谓水仙花数是指一个数3位数,其
每位数字立方和等于其本身,如153 = 111 + 333 + 555)
分析:开始区间 int i=100;
结束区间 i<=999;
步长 i++
```java
for (int i = 100; i <= 999; i++) {
// 判断 i == g*g*g + s*s*s +b*b*b
int g = i % 10; // 求个位数
int s = i / 10 % 10; // 求十位数
int b = i / 100; // 求百位
if (i == g * g * g + s * s * s + b * b * b) {
System.out.println(i);
}
}
```
## 二.for循环嵌套
语法:
for(开始区间; 结束区间; 修改循环条件) {
for(开始区间; 结束区间; 修改循环条件)
{ 循环体 }
}
执行流程:
```java
//一共循环了2*3=6次
for(int i=1 ; i<=2; i++){ //外层循环,执行2次
for( int j=1; j<=3;j++){ //内层循环,执行3次
System.out.println(i+","+j);
}
}
```
例子:打印等腰直角三角形
分析:
```java
// i是行数; j是*的个数; k(每行第1个*前面的空格个数)
i j k
1 * 1 2
2 *** 3 1
3 ***** 5 0
//一般这种打印图形的题目只要找出i与j和i与k的关系,就可以解出来
// 要j和i找关系 j=2*i -1
// 要k和i找关系 k=3-i for (int i = 1; i <= 3; i++) { //一共有三行,i<=3
// 先打印空格
for (int k = 1; k <= 3 - i; k++) { //空格k与i的关系3-i
System.out.print(" ");//这里引号里是一个空格
}
// 再打印星星*
for (int j = 1; j <= 2 * i - 1; j++) {//星星j与i的关系为2*i-1
System.out.print("*");
}
// 最后换行,不换行的话,这三行的*会打印在同一行上
//外循环i执行了3次,所以换了三次行
System.out.print("\n");
}
```
for循环与嵌套(水仙花数与三角形的打印)的更多相关文章
- for循环练习题1——水仙花数
/*输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数 字立方和等于其本身. 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 */class ForTest3{ public ...
- JAVA 基础编程练习题3 【程序 3 水仙花数】
3 [程序 3 水仙花数] 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例 如:153 是一个"水仙 ...
- 用js 的for循环打印三角形,提取水仙花数,求本月多少天
第一题:用for循环打印三角形 //第一个 for(var x = 1;x <= 4;x++){ //控制行数 :由 1 到 4 for(var y = 1;y <= x;y++){ // ...
- 【C语言】(for循环嵌套)找出1000以内的水仙花数
什么是水仙花数? 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153). 分析: 根据定义可知: a*a*a+b*b*b+c*c*c ...
- 水仙花数------"水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。(for循环的嵌套)
package com.zuoye.test;//打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,//其各位数字立方和等于该数本身.//例如: ...
- 【Java基础】for循环实现在控制台打印水仙花数
代码: /* * 需求:在控制台输出所有的”水仙花数” * * 分析: * 什么是水仙花数呢? * 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身. * 举例:153就是一个水仙花数. ...
- 利用for循环如何判定是水仙花数
水仙花数业内的大家可能听说过,但是对于初学者来讲,对于水仙花数还是比较陌生的. 首先要知道的是水仙花数的计算公式:153=1**3+5**3+3**3: 如何去判定这个数是否为水仙花数,最好的办法就是 ...
- 水仙花数的条件:1.是一个三位数,2.个百千位数字的3次方加起来的和等于当前的三位数。如果,想要完美一点可以在外部加while循环
#!/usr/bin/env python# -*- coding: utf-8 -*-print("请输入三位数:")num = input()# 定义常量SumNum = 0# ...
- 初入PHP,(for循环~水仙花数)
找出100-999之间的所有"水仙花数".所谓水仙花数是指一个三位 数,各位数字的立方和等于该数本身.(如153次方=1的3次方+5的3次方+3的3次方)并输出这些数字 想想153 ...
随机推荐
- jar 反编译工具
luyten windows版本的 链接:https://pan.baidu.com/s/1hp6gyvJSj_4h60dk5AZejA 密码:c4u7 之所以推荐它,是因为它能避免普通的编译工具jd ...
- 使用redis实现nodejs并发服务
const redisClient = require('redis').createClient(6379, '127.0.0.1'); const crypto = require('crypto ...
- 青蛙的约会 (ax+by=c求最小整数解)【拓展欧几里得】
青蛙的约会(点击跳转) 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住 ...
- 大厂面试过程复盘(微信/阿里/头条均拿offer,附答案篇)
背景 本人前端,3年经验,由于个人的原因,决定跳槽,于是大概3月开始找工作,总历时大概2个月,面试了微信/阿里/头条,三家都拿到了offer,来分享一下面经. 问题比较多,而且很多面试题都是跟个人项目 ...
- 读懂操作系统之虚拟内存TLB与缓存(cache)关系篇(四)
前言 前面我们讲到通过TLB缓存页表加快地址翻译,通过上一节缓存原理的讲解为本节做铺垫引入TLB和缓存的关系,同时我们来完整梳理下从CPU产生虚拟地址最终映射为物理地址获取数据的整个过程是怎样的,若有 ...
- C#数据结构与算法系列(四):链表——单链表(Single-LinkedList)
1.介绍: 链表是有序的列表,但是它在内存的存储如下: 链表是以节点的方式来存储,链式存储 每一个节点包含data域,next域:指向下一个节点 链表的各个节点不一定是连续存储 链表分带头节点的链表 ...
- C# 9.0 新特性之目标类型推导 new 表达式
阅读本文大概需要 2 分钟. 呼~~,每次过完一个周末,写作就失去了动力,一两天才能缓过来.尽管如此,还是要坚持写好每一篇文章的.宁缺毋滥嘛,宁愿发文的频率低一点,也要保证文章的质量,至少排版不能差, ...
- TensorFlow中读取图像数据的三种方式
本文面对三种常常遇到的情况,总结三种读取数据的方式,分别用于处理单张图片.大量图片,和TFRecorder读取方式.并且还补充了功能相近的tf函数. 1.处理单张图片 我们训练完模型之后,常常要用图片 ...
- Linux上的Systemctl命令
LinuxSystemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Syste ...
- SpringBoot — HelloWorld开发部署
springboot官方推荐使用jdk1.8 一.配置pom.xml 二.Application.java 三.HelloController.java 四.项目运行: Application.jav ...