微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java中int为0时,如何计算整数出现的次数?

如何解决java中int为0时,如何计算整数出现的次数?

我是 Java 初学者,我编写了一个程序来计算 int d 在给定整数 n 中出现的次数,即 n = 988,d = 8 返回 2。 它适用于大多数情况(负数、正数等),但我的代码说 n = 0,d = 1 包含 1,这是错误的。如何在不使整数 10 的情况下向 0 添加一个位置(我在第一个 if 语句中错误地这样做了)。

public class countingints{

    public static int count(int n,int d) {
        n = Math.abs(n); 
        if(n == 0) { 
            n = 10;
        }
        int result = 0;
        while (n > 0) {
            int place = n % 10; 
            if (place == d) {
                result++;
            }
            n /= 10;
        }
        return result;
    }

    public static void main(String[] args) {
        System.out.println(count(0,1)); //SHOULD return 0
        System.out.println(count(0,5)); //returns 0
    }
}

解决方法

if(n == 0) { 
  n = 10;
}
```

计算机只是按照指令进行操作。如果 n 为 0,则 n 设置为 10,10 包含单个 1 数字。

如果您使用此 if (n == 0) n = 10 行的意图是为了确保例如count(0,0) 返回 1,然后只需将其编码为:if (n == 0 && d == 0) return 1; - 这是一个奇怪的情况,因为从数学上讲,“数字 0 出现多少次”这个问题很棘手。你也可以把 15 写成 0015,在很多方面,0 只是一种写法,数字真的可以被认为只是一个没有数字的完全空白的字符串全部。

关键是,当您询问一个数字中有多少个零时,您的算法或多或少是合乎逻辑的,尤其是当您询问数字 0 中有多少个零时。”奇怪的情况”通常意味着他们需要硬编码,所以,这样做。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?