java - 整数的最后 n 位

标签 java

我明天要期末考试,所以我正在练习一些问题。但是我被这个问题困住了。

编写一个名为 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/

相关文章:

javascript - 网页 View 不加载网页图像

java - 值不正确的递归

java - 如何在 JSON 对象形式的 ArrayList 中查找重复项?

java - 当毫秒很长时,将毫秒添加到 Java 日期

java - 在 Groovy 中创建类似 createCriteria().list(){} 的方法

java - java或c++中的邻接矩阵来查找连接的节点

java - 如何在jsp中将字节数据显示到img标签中?

java - 在滑动手势后动画对象

java - 不同类android java中的Paho-mqtt回调

java - jOOQ 子查询给出编译错误“SelectWhereStep 类型中的方法 where(Condition...)...不适用于参数