Java 中的魔数程序14 Jul 2025 | 阅读 5 分钟 在编程中,魔数是直接在代码中使用、但未明确定义或解释的硬编码数值或字符串值。它可能在以后更改。它用于标识目的。它看起来是任意的,没有上下文或含义。它难以更新。例如, 使用此类常量可以帮助我们区分文件与其他各种文件格式。例如,
为什么应该避免使用魔数?我们在编程中不应使用魔数,因为它们会导致反模式,使代码难以理解和维护。它还隐藏了意图,因此应避免使用魔数。代码的更改也更难。 建议使用常量来表示值,而不是使用魔数。它提高了代码的可读性,并提供了代码的轻松修改。例如, 我们应该使用以下代码,而不是上面的代码: 数学中的魔数在数学中,魔数是指一个数字,其各位数字的递归和最终结果为 1。如果单个数字是 1,则该数字称为魔数。它与快乐数非常相似。 例如,325 是一个魔数,因为其各位数字之和 (3+2+5) 为 10,然后再次对结果求和 (1+0),我们得到一个单一数字 (1) 作为结果。因此,数字 325 是一个魔数。 其他一些魔数是1234、226、10、1、37、46、55、73 等。 请注意,如果一个数字是魔数,那么该数字的所有可能组合也将是魔数。 例如,532、253、325、235、352 和 523,所有数字的数字之和为 10,然后再次对结果求和 (1+0),我们得到一个单一数字,即 1。因此,我们可以说魔数及其组合也是魔数。 算法
让我们在 Java 程序中实现上述逻辑,并检查给定数字是否为魔数。 Java 中的魔数程序示例编译并运行输出 The given number is a magic number. 高效方法如果 n%9 == 1,则 n 是魔数。 它之所以有效,是因为数字的数字根(重复的数字和)遵循模 9 的属性。 示例编译并运行输出 235 is a magic number. 魔数与快乐数魔数和快乐数之间的唯一区别是,在魔数中,我们递归地对数字的所有数字求和,直到得到一个单一数字,即 1。而在快乐数中,我们递归地计算数字平方和,直到得到一个单一数字 1。如果此过程导致包含 4 的数字的无限循环,则该数字称为不快乐数。例如,我们来检查19 是魔数还是快乐数。
在这两种情况下,我们都得到1。因此,数字19 是一个魔数,也是一个快乐数。 魔数选择题1. 可以使用什么快捷方式来检查一个数字是否为魔数?
答案:B 解释:如果 n%9 == 1,则 n 是魔数。它之所以有效,是因为数字的数字根(重复的数字和)遵循模 9 的属性。 2. 编程中的魔数是什么?
答案:A 解释:在编程中,魔数是直接在代码中使用、但未明确定义或解释的硬编码数值或字符串值。 3. 下列哪一项不是魔数?
答案:D 解释:如果一个数字是魔数,那么该数字的所有可能组合也将是魔数。例如,532、253 和 325,所有数字的数字之和为 10,然后再次对结果求和 (1+0),我们得到一个单一数字,即 1。因此,将 533 的数字相加得到 11,然后再次将结果相加得到 2。所以 533 不是魔数。 4. 为什么应该避免使用魔数?
答案:D 解释:我们在编程中不应使用魔数,因为它们会导致反模式,使代码难以理解和维护。它还隐藏了意图。 5. 我们可以使用___________代替魔数?
答案:C 解释:建议使用常量来表示值,而不是使用魔数。它提高了代码的可读性,并提供了代码的轻松修改。 |
JSON 代表 JavaScript Object Notation,它是一种非常轻量级的存储和传输数据格式。JSON 格式非常易于理解,因为它具有自描述的特性。JSON 主要用于在服务器和 Web 之间传输数据...
阅读 10 分钟
克隆是 Java 中的一个基本概念,它允许开发人员创建对象的副本。此过程对于各种场景至关重要,例如保存对象的状态、创建备份或实现某些设计模式。但是,Java 提供了两种不同的类型...
7 分钟阅读
在 Java 中,当组织包含重复元素的集合以及借助 Multiset 统计元素频率时。Java SE 在其标准库中不支持 Multiset 作为接口,但它可以由第三方框架(如 Google...)支持。
5 分钟阅读
编写一个程序,计算单链表中值相加等于给定整数 X 的节点对的数量。链表中的每个节点都包含一个整数值。任务是识别所有唯一的节点对...
5 分钟阅读
给定字符串 inStr。任务是计算字符串 inStr 的唯一子字符串的总数。输入字符串的所有字符都是小写字母。示例 1:输入字符串 inStr =“abcde”输出:有 16 个唯一子字符串。解释:不同的子字符串有:""……
阅读 6 分钟
给定一个整数数组 (arr) 和一个整数目标,我们需要找到通过对 arr 的非空子数组执行按位 AND 运算可以得到的、最接近目标的数字。任务是返回两个...
阅读 8 分钟
确定给定三个整数 a、b 和 c 的最长快乐字符串。如果存在多个最长快乐字符串,则返回其中任何一个。如果不存在这样的字符串,则返回空字符串“”。快乐字符串是指...
阅读9分钟
在本教程中,我们将了解如何在 Java 中查找数组元素的索引。为避免混淆,我们将假设数组中的所有元素都是唯一的。换句话说,任何元素都不会出现一次以上。在输入中,一个...
阅读9分钟
它是数学和计算机科学中最著名的数列之一,斐波那契数列。从 0 和 1 开始,系列中的每一项都是前两项的总和,给出一个通常看起来像:0、1、1、2、3、5、...的系列。
阅读 4 分钟
约束在 Java 编程中起着至关重要的作用,它们帮助开发人员定义代码必须满足才能正确运行的规则和条件。它们确保数据完整性、防止意外行为,并有助于提高 Java 应用程序的整体健壮性。在本节中,我们将...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India