java - 数字总和(包括负数)

标签 java

我怎样才能让以下允许负数并将它们视为正数。前任。 -91 = 10 它目前适用于获取 int n 并将所有数字相加,但仅限于正数。谢谢!

public static int sumOfDigits(int n) {
  int sum = 0;
    while (n > 0) {
        sum += n % 10;
        n = n / 10;
    }
    return sum;
 }

最佳答案

简单的解决方案:添加 n = Math.abs(n) 作为函数的第一行。此解决方案适用于除 Integer.MIN_VALUE 之外的所有号码。 .

始终正确的解决方案:将循环条件替换为 n != 0 并返回 Math.abs(sum) 作为结果。

关于java - 数字总和(包括负数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40455471/

相关文章:

Windows 7 上的 Java 版本

java - Hadoop map/reduce 显示错误 : com. mongodb.connection.SslSettings$Builder.context(Ljavax/net/ssl/SSLContext;)

Java 错误 : "Could not find or load main class .ie.driver" with selenium

java - 打印特定类型但使用不同构造函数存储的对象

java - 在基于java的spring配置中创建applicationContext bean

java - 如何依赖 Gradle 中的所有 *compile 和 *testCompile 任务

java - 如何使用Spring RestTemplate处理json类型请求和xml类型请求

java - 如何获取preparedstatement中的batch数?

java - 签名 validator 在检查自身时返回 false

java - 如何使用 fabric sdk 创建 android studio 库?