获取数字的最后一位数字

时间:2013-06-17 10:08:37

标签: java return digits

我需要定义数字的最后一位数字,将其指定为值。 在此之后,返回最后一位数字。

我的代码片段无法正常运行...

代码:

public int lastDigit(int number) {
    String temp = Integer.toString(number);
    int[] guess = new int[temp.length()];
    int last = guess[temp.length() - 1];

    return last;
}

问题:

  • 如何解决这个问题?

12 个答案:

答案 0 :(得分:131)

返回(number % 10);即取模数。这比解析进出字符串要快得多。

如果number可能是否定的,请使用(Math.abs(number) % 10);

答案 1 :(得分:14)

以下是如何从int获取最后一位数字的简单解决方案:

public int lastDigit(int number) { return number % 10; }

答案 2 :(得分:7)

使用

int lastDigit = number % 10. 

了解Modulo运算符:http://en.wikipedia.org/wiki/Modulo_operation

或者,如果您想使用String解决方案

String charAtLastPosition = temp.charAt(temp.length()-1);

答案 3 :(得分:4)

无需使用任何strings。它的负担过重。

int i = 124;
int last= i%10;
System.out.println(last);   //prints 4

答案 4 :(得分:1)

不使用'%'

public int lastDigit(int no){
    int n1 = no / 10;
    n1 = no - n1 * 10;
    return n1;
}

答案 5 :(得分:0)

您刚刚创建了一个空整数数组。数组guess不包含我所知的任何内容。其余的你应该努力变得更好。

答案 6 :(得分:0)

这是你的方法

public int lastDigit(int number)
{
    //your code goes here. 
    int last =number%10;
    return last;
}

答案 7 :(得分:0)

您的阵列没有初始化。所以它会给出默认值Zero。 您也可以尝试这样

String temp = Integer.toString(urNumber);
System.out.println(temp.charAt(temp.length()-1));

答案 8 :(得分:0)

public static void main(String[] args) {

    System.out.println(lastDigit(2347));
}

public static int lastDigit(int number)
{
    //your code goes here. 
    int last = number % 10;

    return last;
}

0 / P:

7

答案 9 :(得分:0)

使用StringUtils,以防您需要字符串结果:

String last = StringUtils.right(number.toString(), 1);

答案 10 :(得分:0)

另一个有趣的方法是,它还允许不仅仅是最后一个数字:

int number = 124454;
int overflow = (int)Math.floor(number/(1*10^n))*10^n;

int firstDigits = number - overflow;
//Where n is the number of numbers you wish to conserve</code>

在上面的示例中,如果n为1,则程序将返回:4

如果n为3,则程序将返回454

答案 11 :(得分:-1)

虽然最好的方法是使用%,如果你坚持使用字符串,这将起作用

public int lastDigit(int number)
{
return Integer.parseInt(String.valueOf(Integer.toString(number).charAt(Integer.toString(number).length() - 1)));
}

但我刚写完这篇文章是为了完整性。不要使用此代码。这太糟糕了。