これを値に割り当てる番号の最後の桁を定義する必要があります。この後、最後の桁を返します。
コードのスニペットが正しく機能しません...
コード:
public int lastDigit(int number) {
String temp = Integer.toString(number);
int[] guess = new int[temp.length()];
int last = guess[temp.length() - 1];
return last;
}
質問:
(number % 10)
を返すだけです;つまり、モジュラスを取得します。これは、文字列の解析および解析よりもはるかに高速です。
number
が負の場合、(Math.abs(number) % 10);
を使用します
以下は、int
から最後の数字を取得する簡単なソリューションです。
public int lastDigit(int number) { return number % 10; }
つかいます
int lastDigit = number % 10.
Modulo演算子について読む: http://en.wikipedia.org/wiki/Modulo_operation
または、String
ソリューションを使用する場合
String charAtLastPosition = temp.charAt(temp.length()-1);
strings
を使用する必要はありません。負担が大きすぎます。
int i = 124;
int last= i%10;
System.out.println(last); //prints 4
'%'を使用しない場合。
public int lastDigit(int no){
int n1 = no / 10;
n1 = no - n1 * 10;
return n1;
}
最後の数字以上のものを取得できるようにする別の興味深い方法は次のとおりです。
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を返します。
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;
}
7
配列は初期化されていません。したがって、デフォルト値はゼロになります。あなたもこのように試すことができます
String temp = Integer.toString(urNumber);
System.out.println(temp.charAt(temp.length()-1));
文字列の結果が必要な場合は、StringUtilsを使用します。
String last = StringUtils.right(number.toString(), 1);
ここにあなたの方法があります
public int lastDigit(int number)
{
//your code goes here.
int last =number%10;
return last;
}
空の整数配列を作成しました。配列guess
には、私の知る限り何も含まれていません。残りはあなたが改善するために解決する必要があります。