package Maths;public class SumOfDigits {public static void main(String[] args) {assert sumOfDigits(-123) == 6 && sumOfDigitsRecursion(-123) == 6 && sumOfDigitsFast(-123) == 6;assert sumOfDigits(0) == 0 && sumOfDigitsRecursion(0) == 0 && sumOfDigitsFast(0) == 0;assert sumOfDigits(12345) == 15&& sumOfDigitsRecursion(12345) == 15&& sumOfDigitsFast(12345) == 15;}/*** Calculate the sum of digits of a number** @param number the number contains digits* @return sum of digits of given {@code number}*/public static int sumOfDigits(int number) {number = number < 0 ? -number : number; /* calculate abs value */int sum = 0;while (number != 0) {sum += number % 10;number /= 10;}return sum;}/*** Calculate the sum of digits of a number using recursion** @param number the number contains digits* @return sum of digits of given {@code number}*/public static int sumOfDigitsRecursion(int number) {number = number < 0 ? -number : number; /* calculate abs value */return number < 10 ? number : number % 10 + sumOfDigitsRecursion(number / 10);}/*** Calculate the sum of digits of a number using char array** @param number the number contains digits* @return sum of digits of given {@code number}*/public static int sumOfDigitsFast(int number) {number = number < 0 ? -number : number; /* calculate abs value */char[] digits = (number + "").toCharArray();int sum = 0;for (int i = 0; i < digits.length; ++i) {sum += digits[i] - '0';}return sum;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。