Java算法实践:逢七过与水仙花数解析

需积分: 44 1 下载量 133 浏览量 更新于2024-09-04 收藏 3KB MD 举报
"这篇文档主要介绍了两个Java小算法,分别是逢七过和水仙花数。逢七过是指在1到100之间遍历所有数值,如果该数值包含7或者与7有关(即7的倍数或十位、个位是7),则跳过不打印,否则打印该数值。水仙花数是指一个三位数,其各位数字的立方和等于它本身。" ### 逢七过算法详解 逢七过算法的目标是在1到100之间遍历所有整数,但遇到与7相关的数时跳过,具体包括: 1. 数值等于7的倍数(即n % 7 == 0) 2. 数值的十位数字等于7(即n / 10 == 7) 3. 数值的个位数字等于7(即n % 10 == 7) 代码中通过`while`循环实现这一逻辑,逐个检查每个数,如果不符合上述条件,则打印该数。当遇到与7有关的情况时,通过`n += 1`跳过当前数并进入下一个。 ### 水仙花数算法详解 水仙花数是指一个三位数,其每位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。为了判断一个三位数是否为水仙花数,可以将这个数分解成三个部分:百位、十位和个位。 代码中使用`Scanner`类获取用户输入的三位数,然后通过取模和除法操作将数字分解为`a`(百位)、`b`(十位)和`c`(个位)。接着计算这三个数字的立方和,如果等于原始输入的数,则输出"YES",否则输出"NO"。 ### Java编程技巧 在上述代码中,可以看到以下Java编程技巧: 1. 使用`while`循环进行条件判断和遍历。 2. 使用`if...else`语句结构来处理多种条件分支。 3. 使用`Scanner`类从控制台获取用户输入。 4. 对数字进行取模和除法运算来获取其各个位上的数字。 5. 使用`System.out.println`和`System.out.print`进行输出。 这两个简单的算法示例展示了如何在Java中处理数学问题,以及如何利用条件判断和循环结构解决问题。这些基础概念对于学习Java编程至关重要,也是进一步学习更复杂算法和数据结构的基础。