【问题标题】:Java: Extract digits from a number without using % and stringJava:从数字中提取数字而不使用%和字符串
【发布时间】:2023-03-03 22:41:02
【问题描述】:

如何在不使用模数和字符串的情况下从数字中提取所有数字?例如1234 应该分别返回 1、2、3 和 4。

【问题讨论】:

  • 什么是1234类型??字符串??
  • 如果可以的话可以创建一个方法来模拟%

标签: java numbers digit


【解决方案1】:

我不明白你为什么不想使用模数,但是你去吧:

我假设 1234 的类型是 int。您可以将此数字除以 10,得到 123。然后,将原始数字减去 10*123,即 1234 - 10*123。这给了你最后一个数字,4。然后,你在 123 上做同样的事情,依此类推,直到数字除以 10 为 0。最后,它只会模拟一个模运算符。

【讨论】:

  • 谢谢托拜厄斯。这是向我的一位朋友@Oracle 提出的面试问题。
【解决方案2】:

鉴于您正在使用数组,您可以将数组转换为 IntStream 并使用例如。 .filter(%3) 过滤掉你不想要的 int 的方法

【讨论】:

    【解决方案3】:
        int n=78912;
        while(n>0)
        {
            System.out.print(n-10*(n/10));
            n=n/10;
        }
    

    输出: 21987

    【讨论】:

      猜你喜欢
      • 2020-06-10
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多