2

文字列操作を使用せずに整数を文字の配列に変換しようとしています。

私の試みは:

int number = 12;
char[] test = Character.toChars(number);

for (char c : test)
    System.out.println(c);

出力はなく、次のようになります。

'1'

'2'

どうすればこれを修正できますか? ありがとうございました!

4

4 に答える 4

4

次のようなことを試してください:

int number = 12345;

char[] arr = new char[(int) (Math.log10(number) + 1)];

for (int i = arr.length - 1; i >= 0; i--) {
    arr[i] = (char) ('0' + (number % 10));
    number /= 10;
}

System.out.println(Arrays.toString(arr));
[1、2、3、4、5]

の桁数を返すことに注意してください。また、元の番号を保持したい場合は、コピーを作成し、代わりにループで使用します。floor(log10(n) + 1)nfor

また、正でない整数も処理する予定がある場合は、上記のコードを調整する必要がある場合があることに注意してください。ただし、全体的な考え方は同じままである必要があります。

于 2013-10-08T01:31:59.023 に答える
1

char[] test = Integer.toString(number).toCharArray();

于 2013-10-08T01:27:11.863 に答える