Java 程序将数字相加直到数字变为个位数2025年3月17日 | 阅读 3 分钟 在本节中,我们将创建 Java 程序,该程序将对数字的各位进行相加,直到数字变为个位数。该问题也称为数字根问题。 ![]() 示例 假设,76345 是一个需要找到其各位数字之和直到变为个位数的数字。 7 + 6 + 3 + 4 + 5 = 25 接下来,我们将 2 和 5 相加。 2 + 5 = 7 我们得到 7,这是一个个位数。 暴力破解法
让我们在 Java 程序中实现上述逻辑。 SingleDigit.java 输出 The sum of digits is: 1 我们也可以在不使用任何循环和递归的情况下解决上述问题。该方法如下: 在这种方法中,首先检查数字是否可以被 9 整除。如果可以整除,则将各位数字相加,并检查总和是否可以被 9 整除。如果可以整除,则该数字可被 9 整除,否则不能。 例如,54 即 (5 + 4 = 9)。我们得到 9 作为数字的总和。因此,总和可以被 9 整除。 我们观察到,如果一个数字 (n) 可以被 9 整除,那么将其各位数字相加直到总和变为个位数,这个个位数总是 9。例如: n = 2880 数字总和 = 2 + 8 + 8 + 0 = 18 数字 18 可以进一步相加形成一个一位数。 18 = 1 + 8 = 9 如果数字的形式是 9x,答案总是 9。如果数字的形式是 9x+k 一个数字可以是 9x 的形式,也可以是 9x + k 的形式。对于第一种情况,答案总是 9。对于第二种情况,答案总是 k,即余数。
让我们在 Java 程序中实现上述方法。 SumOfDigits.java 输出 The sum of digits is: 2 上述方法以O(1) 时间复杂度解决了问题。另一种以 O(1) 时间复杂度解决问题的方法如下: 下一主题Java 中相同数字集的最大位数 |
在 Java 中,处理日期和时间并非难事,因为 Java 提供了日期和时间 API,使开发人员的任务更加轻松。在本节中,我们将讨论如何从当前日期和任何特定日期减去天数。使用 Java...
阅读 3 分钟
java.time.format.DecimalStyle 类包含 getAvailableLocales() 方法。Java DecimalStyle 类用于检索与此 DecimalStyle 兼容的所有区域设置的列表。此方法返回可访问区域设置的集合。语法:public static Set<Locales> getAvailableLocales() 参数:无参数...
阅读 3 分钟
由于强大的继承系统,Java 中的一个类可以通过继承另一个类的特征和行为。在处理继承时,构造函数对于初始化对象和维护类的正确运行至关重要。在本节中,我们将探讨构造函数的功能……
阅读 4 分钟
Java 中 Array 和 ArrayList 之间的区别 Array 和 ArrayList 是众所周知的。数组是 Java 提供的基本功能,而 ArrayList 是 Java Collections 框架的一个类。它属于 java.util 包。Java 数组数组是一个动态创建的对象。它用于...
阅读 3 分钟
给我们一个整数计数,与一个由小写英文字母组成的字符串 'str' 相关联。此特定问题的目标是查找“相等计数子串”。当子串中的每个不同字母都出现恰好 count 次时,该子串称为...
阅读 6 分钟
数组中缺失的数字问题是与编码相关的面试中广泛使用的问题之一。此问题涉及尝试从包含 n 个不同整数(从一到 n+1)的数组中识别一个缺失的数字。因此,这个...中只有一个数字。
阅读 4 分钟
处理键值对数据是各种 Java 应用程序中的常见需求。通常,数据以字符串或字符串数组的形式到达,并将其转换为 Map 以进行有效处理变得至关重要。在同一上下文中,Map 提供了一种便捷的方式来访问和操作数据...
5 分钟阅读
Java 提供了各种有用的内置集合库。但有时我们需要 Java 标准库中没有的特殊类型的集合。其中之一就是 Multimap。在本节中,我们将学习什么是 multimap 以及如何在 Java 中实现 multimap,...
5 分钟阅读
这是一个非常有趣的问题,经常在 Google、Amazon、TCS、Accenture、Adobe、Apple、Infosys 等顶级 IT 公司的面试中出现。通过解决这个问题,可以考察应聘者的逻辑能力、批判性思维和解决问题的能力。因此,在本节中,...
5 分钟阅读
在本节中,我们将创建一个 Java 程序并找到一个数的排列和循环排列。在继续本节之前,我们将首先通过示例理解排列。排列在数学中,排列是一种方法或技术,我们可以从中确定...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India