2012-08-30 23 views
10

Jaki jest najlepszy sposób przekonwertowania liczby całkowitej na tablicę znaków?Konwertuj liczbę całkowitą na tablicę znaków: java

wejściowa: 1234

wyjściowa: {1,2,3,4}

Mając na uwadze ogrom języku Java, jaki będzie najlepszy i najbardziej efektywny sposób to zrobić?

+0

co pan spróbować? – amit

+1

Szukam skutecznego sposobu. Mogę wymyślić uzyskanie każdej cyfry przez% 10, konwersję jej na char i dodanie do tablicy. I nareszcie odwróć tablicę. Dowolna lepsza metoda? –

Odpowiedz

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

Aha ... Szukałem czegoś takiego. :) –

23

Można spróbować czegoś takiego:

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

Fajne .. nadal nie zdaje sobie sprawy z połowy funkcji w Javie. Dziękuję za odpowiedź. –

10

Spróbuj tego ...

int value = 1234; 
char [] chars = String.valueOf(value).toCharArray(); 
-1

Poproszono mnie to pytanie w google wywiadzie. Jeśli zapytasz w wywiadach użyj modułu i podziału. Oto odpowiedź

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

że masz tablicę int i innej metody, która przekształca te ints do liter, podobnie jak w przypadku programu zmieniającego klas numerycznych klasach literowych, byś zrobił ...

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

można przekonwertować liczbę całkowitą na łańcuch, a następnie przekonwertować ten ciąg do char arary: -

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

/*ch[0]=1,ch[1]=2,ch[2]=3,ch[3]=4*/ 
Powiązane problemy