web-dev-qa-db-ja.com

数値の最後の桁を取得します

これを値に割り当てる番号の最後の桁を定義する必要があります。この後、最後の桁を返します。

コードのスニペットが正しく機能しません...

コード:

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

    return last;
}

質問:

  • この問題を解決するには?
31
nazar_art

(number % 10)を返すだけです;つまり、モジュラスを取得します。これは、文字列の解析および解析よりもはるかに高速です。

numberが負の場合、(Math.abs(number) % 10);を使用します

132
Bathsheba

以下は、intから最後の数字を取得する簡単なソリューションです。

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

つかいます

int lastDigit = number % 10. 

Modulo演算子について読む: http://en.wikipedia.org/wiki/Modulo_operation

または、Stringソリューションを使用する場合

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

stringsを使用する必要はありません。負担が大きすぎます。

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

'%'を使用しない場合。

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

最後の数字以上のものを取得できるようにする別の興味深い方法は次のとおりです。

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を返します。

0
Samuel Newport
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

0

配列は初期化されていません。したがって、デフォルト値はゼロになります。あなたもこのように試すことができます

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

文字列の結果が必要な場合は、StringUtilsを使用します。

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

ここにあなたの方法があります

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

空の整数配列を作成しました。配列guessには、私の知る限り何も含まれていません。残りはあなたが改善するために解決する必要があります。

0