java - 返回数字的第 n 位数字

标签 java number-manipulation

public class Return {    
    public static void main(String[] args) {        
        int answer = digit(9635, 1);
        print("The answer is " + answer);
    }

    static void print(String karen) {
        System.out.println (karen);
    }

    static int digit(int a, int b) {
        int digit = a;
        return digit;
    }     
}

创建一个程序,使用名为 digit 的函数,该函数返回第 n 个值 整数参数右侧的数字。 n 的值应该是第二个参数。

例如:digit(9635, 1)返回5digit(9635, 3)返回6 .

最佳答案

无需用勺子喂你代码:

第 n 位数字是( a 除以 10b-1)除以 10 后的余数。

int digit(int a, int b) {
return a / (int)Math.pow(10, b - 1) % 10;
}
请参阅live demo .

<小时/>

如果您想要迭代方法:

循环b-1次,每次分配给a变量 除 a 的结果到 10 点。
循环后,第n位是除a所得的余数。 10。

int digit(int a, int b) {
while (--b > 0) {
a /= 10;
}
return a % 10;
}
请参阅live demo .

<小时/>

有关 Java 的相关事实:

  • 模运算符 %返回除法后的余数,例如32 % 10返回2

  • 整数除法去掉余数,例如32 / 10返回3 .

关于java - 返回数字的第 n 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19194257/

相关文章:

javascript - 根据总位数反转一个数字

javascript - 以 10 为基数四舍五入

java - 配置bean未初始化

java - 将字符网格添加到 jPanel

java - Spring MVC WebApp : @schedule: java-sdk-http-connection-reaper : Failed to Stop

Java - 使用 subList 重新分配 List 是否包含对先前分配的内存的引用?

java - 如果我终止 jUnit 测试会发生什么

java - Java中如何将一个数字分成不同的部分?