【问题标题】:How to access the second character in a three-digit int?如何访问三位整数中的第二个字符?
【发布时间】:2019-08-24 12:40:57
【问题描述】:
System.out.println("Enter a three-digit number: ");
int num = sc.nextInt();
int digit1 = num / 100;
//int digit2 = ?
int digit3 = num % 10;

我需要在这个三位数中找到第二个数字,然后我必须检查 如果这个数字可以除以它的每一位数字。我怎样才能得到第二个数字?

【问题讨论】:

    标签: java


    【解决方案1】:

    因此您可以将其解析为字符串并以如下方式获取数字:

    int num = ...;
    string numbS = Integer.toString(num);
    char char1 = numbS.charAt(0);
    int num1 = Character.getNumericValue(char1);
    

    或者你可以通过除以 10 然后是 10 的余数来做到这一点:

    int digit2 = (num / 10) % 10;
    

    【讨论】:

    • 不鼓励使用纯代码的答案。您应该解释问题以及您的解决方案如何解决/解决此问题。
    【解决方案2】:

    那只是(num / 10) % 10

    【讨论】:

    • 不鼓励使用纯代码的答案。您应该解释问题以及您的解决方案如何解决/解决此问题。
    • @Turing85,我知道这是一般规则,但在这种特定情况下这是一个非常简单的问题,并且考虑到 OP 已经拥有用于获取第一位和第三位数字的代码,我想对于已经完成其他两位数的人来说,我的答案如何解决问题是相当明显的。
    【解决方案3】:

    假设我们有一个以 10 为底的整数 x = 12345。我们可以执行一个取模运算 x%10 来得到 5 的余数。这样就可以得到个位数。十号位呢?整数除法 x/10 得到 1234。然后我们可以进行取模运算,得到十位,x/10%10 = 4。要得到百位,我们先除以 100,以此类推。

    一般公式是x/10^(数字的索引)%10,其中一个数字的最右边的数字位于索引0处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-02
      • 2021-01-27
      • 1970-01-01
      • 2022-12-05
      • 2019-05-05
      • 2017-04-03
      • 1970-01-01
      • 2011-04-20
      相关资源
      最近更新 更多