0

明日は期末試験なので、いくつかの問題を練習していますが、この問題で行き詰っています。

整数の n 桁目を返す getNthDigit という名前のメソッドを作成します。これは、負の数に対しても機能するはずです。

例えば。

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 でモジュロするたびに、最後の桁が得られます。しかし、それでも間違っています。

4

5 に答える 5

0

単純に数値を文字列に変換してから、必要な位置にある文字を取得してみませんか?

public static void getNthDigit(int x,int y){
    String str = String.valueOf(x);
    if(str.charAt(0) == '-')
        y++;
    System.out.println(str.charAt(y-1));
}
于 2013-04-24T04:57:09.027 に答える
0

私はそれを文字列に書き込み、先頭の -ve をすべて取り除き、文字列にインデックスを付けます (Java が 0 ベースを使用する場合に 1 ベースのインデックスが必要であるという事実を処理します)。

于 2013-04-24T04:57:57.373 に答える