我明天要期末考试,所以我正在练习一些问题。但是我被这个问题困住了。
编写一个名为 getNthDigit 的方法,返回整数的第 n 位数字。它也应该适用于负数。
例如。
CALL VALUE RETURNED
getNthDigit(123,1) 3
getNthDigit(123,2) 2
getNthDigit(123,3) 1
getNthDigit(-123,1) 3
我的代码:
public static void getNthDigit(int x,int y){
x=Math.abs(x);
x%10;
}
我的思维过程是每次我对它取模10,它都会给我最后一个数字。但它仍然是错误的。就像如果我调用 getNthDigit(123,2) ,我不再需要最后一个数字值。
最佳答案
除了字符串之外,你还可以这样做:
(Math.abs(x) / Math.pow(10, y - 1)) % 10
abs(n)
处理否定情况。n/10^(y - 1)
将n
截断为第一个(从左数)y
位数字。% 10
获取结果数字的最后一位数字。
关于java - 整数的最后 n 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16183641/