Sum of Digits of a Number in Java2025 年 5 月 6 日 | 阅读 7 分钟 在本节中,我们将创建 Java 程序来查找 Java 中数字的各位之和。要查找数字的各位之和,我们必须熟悉Java 循环和运算符。 ![]() 查找 Java 中数字各位之和的步骤将任何整数作为输入。之后,我们分别使用模数和除法运算来查找数字的各位之和并将其作为输出。让我们看看这些步骤。
让我们从数学上理解上述步骤,并找出数字的各位之和。 假设我们要找出数字 (N) 674 的各位之和。 第一次迭代 674 % 10 = 4 Sum = 0 + 4 = 4 674 / 10 = 67 第二次迭代 67 % 10 = 7 Sum = 4 + 7 = 11 67 / 10 = 6 第三次迭代 6 % 10 = 6 Sum = 11 + 6 = 17 6 / 10 = 0 现在数字 (N) 已经变为 0。因此,我们将不再处理它。因此,我们得到 674 的各位之和17。 让我们在 Java 程序中实现上述步骤。 Java 程序查找数字的各位之和有以下几种方法可以找到数字的各位之和:
使用 While 循环使用 while 循环查找数字各位之和是最简单的方法。让我们分解一下这些步骤: 初始化变量 number: 存储用户输入。 digit: 存储数字的最后一位。 sum: 累积各位数字的和。 循环直到数字变为 0
打印结果。 SumOfDigitExample1.java 输出 Enter the number: 876 Sum of Digits: 21 使用 for 循环这种方法使用 for 循环来实现相同的结果,在某些情况下可能更简洁。 初始化变量 number: 存储用户输入。 sum: 累积各位数字的和。 循环直到数字变为 0 在每次迭代中,将最后一位数字加到 sum,并从 number 中移除最后一位数字。 打印结果。 SumOfDigitsExample2.java 输出 Enter a number: 3456788 Sum of digits: 41 使用函数将逻辑封装在函数中可以提高代码的可重用性和清晰度。 定义函数 findSum() 函数接受一个整数并返回其各位数字之和。 在函数中使用 While 循环 函数内的逻辑类似于 while 循环方法。 从 main() 方法调用该函数。 SumOfDigitsExample3.java 输出 The sum of digits: 26 在下面的程序中,我们减少了代码行数,并在 for 循环中实现了这些步骤。 SumOfDigitsExample4.java 输出 The sum of digits: 35 使用递归递归提供了一种优雅的方式来解决这个问题,方法是将问题反复分解为更小的子问题。 定义递归函数 函数调用自身,传入一个缩减后的数字,直到达到基本情况(number == 0)。 基本情况和递归步骤 基本情况: 当数字为 0 时,返回 0。 递归步骤: 将最后一位数字加到具有剩余数字的递归调用的结果中。 这是此方法的代码: SumOfDigitsExample5.java 输出 The sum of digits: 28 使用带有实例变量的递归此递归方法的变体使用实例变量来存储总和。 定义带有实例变量的类 定义一个带有实例变量 sum 的类。 递归函数 函数更新实例变量 sum,并调用自身,直到数字变为 0。 SumOfDigitsExample6.java 输出 Enter a number: 983451 The sum of digits: 30 结论每种方法都有其优点:
Java 中数字的各位之和选择题1. 以下代码片段的输出是什么?
答案:D) 解释: 数字 5 + 4 + 3 + 2 + 1 的总和是 15。 2. 在 Java 中,可以使用哪种方法将数字转换为字符串,以帮助计算其各位之和?
答案:D) 解释: Integer.toString() 和 String.valueOf() 都可以将整数转换为字符串。 3. 在 Java 中,如何处理负数的各位之和?
答案:A) 解释: 使用 Math.abs() 可确保在处理其各位数字之前数字为正。 4. 在 Java 中,用于存储大整数的各位之和的首选数据类型是什么?
答案:B) 解释: 使用 long 可以容纳更大的总和而不会溢出。 5. 对整数的最大值(Integer.MAX_VALUE)的各位数字求和的结果将是什么?
答案:B) 解释: 2147483647 的各位数字之和为 2+1+4+7+4+8+3+6+4+7 = 46。 |
Java 是一种广泛使用的编程语言,因其多功能性、易用性和健壮性而受到欢迎。然而,Java 开发人员遇到的最常见问题之一是空指针异常。在本文中,我们将仔细研究这个异常...
阅读 4 分钟
Java 8 为编程语言带来了一些新功能,其中最重要的一项是 lambda 表达式。Lambda 表达式提供了一种简洁的方式来表达可以作为参数传递给另一个方法的函数,从而实现了函数式编程范式...
阅读 4 分钟
要在 Java 中将输出打印到控制台,请使用 System.out.println() 函数。然而,在某些情况下,出于日志记录或审计目的,您可能希望将此输出重定向到文件。可以使用 PrintStream 类来实现此目的。在本节中,我们将...
阅读 3 分钟
移位运算符是一种用于数据位操作的特殊类型运算符。它将第一个操作数的位向左或向右移动。Java 中有以下三种移位运算符:右移运算符 (>>) 左移运算符 (<<) 无符号...
5 分钟阅读
ProcessBuilder 类用于在 Java 中创建操作系统进程。ProcessBuilder 类的每个实例都负责管理进程属性的集合。ProcessBuilder 类不能同步。在 JDK 5.0 之前,使用的是 Runtime.exec() 方法来...
7 分钟阅读
在 Java 编程中,我们在开发应用程序时经常需要生成随机数。许多应用程序都具有生成随机数的功能,例如验证用户,许多应用程序使用 OTP。随机数的最佳示例是骰子。因为当我们掷...
阅读 6 分钟
有许多方法可以检查一个数是否为 4 的幂。在本节中,我们将讨论检查一个数是否为 4 的幂的不同方法。示例:输入:num = 7 输出:7 不是 4 的幂...
阅读9分钟
Java 中唯一接受三个操作数的条件运算符是三元运算符。Java 程序员经常将其用作 if-then-else 表达式的单行替代方案。三元运算符可以替代 if-else 语句,甚至可以用于...
阅读 3 分钟
Web 开发被称为网站开发或 Web 应用程序开发。Web 开发使用浏览器创建、维护和更新 Web 开发应用程序。这种 Web 开发需要 Web 设计、后端编程和数据库管理。开发过程需要软件技术。Web 开发使用...
阅读 6 分钟
问题陈述 目标是使用两个数组 array1 和 array2 来确定 array1 是否是 array2 的子集。如果数组 array1 中的每个元素都在 array2 中,则 array1 是 array2 的子集。方法 1:使用蛮力方法 找出是否...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India