文字列操作を使用せずに整数を文字の配列に変換しようとしています。
私の試みは:
int number = 12;
char[] test = Character.toChars(number);
for (char c : test)
System.out.println(c);
出力はなく、次のようになります。
'1'
'2'
どうすればこれを修正できますか? ありがとうございました!
文字列操作を使用せずに整数を文字の配列に変換しようとしています。
私の試みは:
int number = 12;
char[] test = Character.toChars(number);
for (char c : test)
System.out.println(c);
出力はなく、次のようになります。
'1'
'2'
どうすればこれを修正できますか? ありがとうございました!
次のようなことを試してください:
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)
n
for
また、正でない整数も処理する予定がある場合は、上記のコードを調整する必要がある場合があることに注意してください。ただし、全体的な考え方は同じままである必要があります。
char[] test = Integer.toString(number).toCharArray();