Java练习——for循环语句案例(输出数据、求和、求偶数和、水仙花、统计)需求、分析、代码

简介: for循环语句案例(输出数据、求和、求偶数和、水仙花、统计)需求、分析、代码!

案例:输出数据

需求:

在控制台输出1 ~ 5和5 ~ 1的数据

分析:

(1)反复进行输出的动作,使用循环结构

(2)从1(5)开始到5(1)结束,设置初始化从1(5)开始

(3)从1(5)开始到5(1)结束,设置判断条件为没有到5(1)的时候继续执行,执行到超过5(小于1)程序结束

(4)从1(5)到5(1),每次增加(减少)1,设置条件控制每次+1(-1)

(5)将反复进行的事情写入循环结构内部,打印对应数据

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
//需求:输出数据1~5for(intj=1; j<=5; j++){
System.out.println(j);
  }
System.out.println("………………………………");
//需求:输出数据5~1for(inti=5; i>=1; i--){
System.out.println(i);
  }
    }
}


运行结果:

12345………………………………54321


案例:求和

需求:

求1 ~ 5之间的数据和,并把求和结果在控制台输出

分析:

(1)求和的最终结果必须保存起来,需要定义一个变量,用于保存求和的结果,初始值为0

(2)从1开始到5结束的时候,使用循环结构完成

(3)将反复进行的事情写入循环结构内部,此处反复进行的事情是将数据i加到用于保存最终求和的变量sum中

(4)当循环执行完毕时,将最终数据打印出来

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
intsum=0;
for(intj=1; j<=5; j++){
sum+=j;
  }
System.out.println("1~5之间的数据和为:"+sum);
    }
}


运行结果:

1~5之间的数据和为:15


案例:求偶数和

需求:

求1~100之间的偶数和,并把结果在控制台输出。

分析:

(1)对1~100的数据求和与1 ~5的数据求和几乎完全全一样,仅仅是结束条件不同

(2)对1~100的偶数求和,需要对求和操作添加限制条件

(3)限制条件是偶数才参与运算,因此条件应该是判断是否是偶数

(4)当循环执行完毕,将最终数据打印出来

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
intsum=0;
for(intj=1; j<=100; j++){
if(j%2==0){
sum+=j;
    }
  }
System.out.println("1~100之间的偶数和为:"+sum);
    }
}


运行结果:

1~100之间的偶数和为:2550


案例:水仙花

需求:

在控制台输出所有的“水仙花数”

水仙花数:

①:水仙花数是一个三位数(111,222,370……)

②:水仙花数的个位、十位、百位的数字立方和等于原数

分析:

①水仙花数

(1)三位数的个位数:(371:1就是原始数字对10进行取余运算的结果。[371%10=1])

(2)三位数的百位数:(371:3就是原始数字除以100的结果。[371/100=3])

(3)三位数的十位数:(371:371通过除以10,可以将7移动到个位上,37通过对10进行取余运算可以得到7。[371/10=37,37%10=7])

【任意数字的指定位上的数值如何求:先使用整除操作将要求的数字移动到个位上,再使用取余操作取出最后一位上的值】

②案例

(1)输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束

(2)不是每个三位数都是水仙花数,因此需要判定,满足条件的数字才能进行输出

(3)判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等

(4)在计算之前获取三位数中每个位上的值

③ 总分析:

(1)先建立循环

(2)计算是否满足条件,满足条件输出

(3)取出三位数中的个位十位百位数字

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
for(intj=100; j<=1000; j++){
intge=j%10;
intshi=j/10%10;
intbai=j/10/10%10;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==j){
System.out.println(j);
    }
  }
    }
}


运行结果:

153370371407


案例:统计

需求:

统计“水仙花数”一共有多少个,并在输出台输出个数

分析:

(1)定义变量count,用于保存“水仙花数”的数量,初始值为0

(2)在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值,使count+1

(3)打印输出最终结果

完整代码:

publicclassforDemo{
publicstaticvoidmain(String[] args) {
intcount=0;
for(intj=100; j<=1000; j++){
intge=j%10;
intshi=j/10%10;
intbai=j/10/10%10;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==j){
count++;
    }
  }
System.out.println("水仙花共有"+count+"个");
    }
}


运行结果:

水仙花共有4个


相关文章
|
3天前
|
前端开发 Java
java实现队列数据结构代码详解
本文详细解析了Java中队列数据结构的实现,包括队列的基本概念、应用场景及代码实现。队列是一种遵循“先进先出”原则的线性结构,支持在队尾插入和队头删除操作。文章介绍了顺序队列与链式队列,并重点分析了循环队列的实现方式以解决溢出问题。通过具体代码示例(如`enqueue`入队和`dequeue`出队),展示了队列的操作逻辑,帮助读者深入理解其工作机制。
|
2月前
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
224 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
1月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
1月前
|
消息中间件 Java 应用服务中间件
JVM实战—1.Java代码的运行原理
本文介绍了Java代码的运行机制、JVM类加载机制、JVM内存区域及其作用、垃圾回收机制,并汇总了一些常见问题。
JVM实战—1.Java代码的运行原理
|
9天前
|
存储 安全 Java
Java 集合框架详解:系统化分析与高级应用
本文深入解析Java集合框架,涵盖List、Set、Map等核心接口及其常见实现类,如ArrayList、HashSet、HashMap等。通过对比不同集合类型的特性与应用场景,帮助开发者选择最优方案。同时介绍Iterator迭代机制、Collections工具类及Stream API等高级功能,提升代码效率与可维护性。适合初学者与进阶开发者系统学习与实践。
35 0
|
1月前
|
传感器 监控 Java
Java代码结构解析:类、方法、主函数(1分钟解剖室)
### Java代码结构简介 掌握Java代码结构如同拥有程序世界的建筑蓝图,类、方法和主函数构成“黄金三角”。类是独立的容器,承载成员变量和方法;方法实现特定功能,参数控制输入环境;主函数是程序入口。常见错误包括类名与文件名不匹配、忘记static修饰符和花括号未闭合。通过实战案例学习电商系统、游戏角色控制和物联网设备监控,理解类的作用、方法类型和主函数任务,避免典型错误,逐步提升编程能力。 **脑图速记法**:类如太空站,方法即舱段;main是发射台,static不能换;文件名对仗,括号要成双;参数是坐标,void不返航。
77 5
|
22天前
|
人工智能 JSON Java
列表结构与树结构转换分析与工具类封装(java版)
本文介绍了将线性列表转换为树形结构的实现方法及工具类封装。核心思路是先获取所有根节点,将其余节点作为子节点,通过递归构建每个根节点的子节点。关键在于节点需包含 `id`、`parentId` 和 `children` 三个属性。文中提供了两种封装方式:一是基于基类 `BaseTree` 的通用工具类,二是使用函数式接口实现更灵活的方式。推荐使用后者,因其避免了继承限制,更具扩展性。代码示例中使用了 Jackson 库进行 JSON 格式化输出,便于结果展示。最后总结指出,理解原理是进一步优化和封装的基础。
|
2月前
|
数据采集 JSON Java
Java爬虫获取微店快递费用item_fee API接口数据实现
本文介绍如何使用Java开发爬虫程序,通过微店API接口获取商品快递费用(item_fee)数据。主要内容包括:微店API接口的使用方法、Java爬虫技术背景、需求分析和技术选型。具体实现步骤为:发送HTTP请求获取数据、解析JSON格式的响应并提取快递费用信息,最后将结果存储到本地文件中。文中还提供了完整的代码示例,并提醒开发者注意授权令牌、接口频率限制及数据合法性等问题。
|
2月前
|
Java API 数据处理
深潜数据海洋:Java文件读写全面解析与实战指南
通过本文的详细解析与实战示例,您可以系统地掌握Java中各种文件读写操作,从基本的读写到高效的NIO操作,再到文件复制、移动和删除。希望这些内容能够帮助您在实际项目中处理文件数据,提高开发效率和代码质量。
58 4
|
2月前
|
存储 监控 Java
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
195 60
【Java并发】【线程池】带你从0-1入门线程池