2012-08-30 16 views
10

整数を文字配列に変換する最良の方法は何ですか?整数を文字の配列に変換する:java

入力:1234

出力:{1,2,3,4}

がそれを行うための最善かつ最も効率的な方法がどうなるかを念頭に、Java言語の広大さを維持しますか?

int value = 1234; 
char [] chars = String.valueOf(value).toCharArray(); 
+0

あなたが何をしようとしたのですか? – amit

+1

私は効率的な方法を探しています。私は各数字を%10で取り出し、それをcharに変換して配列に追加すると考えることができます。最後に配列を逆にします。任意のより良い方法? –

答えて

26
int i = 1234; 
char[] chars = ("" + i).toCharArray(); 
+0

ああ...私はこのようなものを探していた。 :) –

23

あなたのような何かを試みることができます。インタビューで質問された場合は、モジュールと部門を使用してください。ここに答え

List<Integer> digits = new ArrayList<>(); 
//main logic using devide and module 
for (; num != 0; num /= 10) 
    digits.add(num % 10); 

//declare an array 
int[] arr = new int[digits.size()]; 
//fill in the array 
for(int i = 0; i < digits.size(); i++) { 
    arr[i] = digits.get(i); 
} 
//reverse it. 
ArrayUtils.reverse(arr); 
+1

クール..まだJavaの関数の半分を認識していない。答えをありがとう。 –

-1

は、私はGoogleのインタビューでこの質問をした...これを試してみてください

String.valueOf(1234).toCharArray(); 
-1

は...あなたはintの配列と文字の等級に番号グレードを変更するプログラムのために、あなたはどうなるのように、文字にそれらのint型に変換し、別の方法を持っていると言うことです

public char[] allGradesToLetters() 
    { 
     char[] array = new char[grades.length]; 

     for(int i = 0; i < grades.length; i++) 
     { 
     array[i] = getLetter(grades[i]); 
     } 

     return array; 
    } 
3

あなたは文字列にその整数に変換してからarary charにその文字列を変換することができます: -

int i = 1234; 
String s = Integer.toString(i); 
Char ch[] = s.toCharArray(); 

/*ch[0]=1,ch[1]=2,ch[2]=3,ch[3]=4*/ 
関連する問題