2012-08-30 19 views
10

एक पूर्णांक को एक वर्ण सरणी में परिवर्तित करने का सबसे अच्छा तरीका क्या है?अक्षरों की एक सरणी में एक पूर्णांक कनवर्ट करें: जावा

इनपुट: 1234

आउटपुट: {1,2,3,4}

ध्यान में रखते हुए जावा भाषा की विशालता क्या यह ऐसा करने का सबसे अच्छा और सबसे प्रभावी तरीका होगा?

+0

तुम क्या करने की कोशिश की थी? – amit

+1

मैं एक कुशल तरीका की तलाश में हूँ। मैं प्रत्येक अंक को% 10 से बाहर करने, इसे चार में परिवर्तित करने और सरणी में जोड़ने के बारे में सोच सकता हूं। और आखिरकार सरणी को उलट देता है। कोई बेहतर तरीका ?? –

उत्तर

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

आह ... मैं इस तरह कुछ ढूंढ रहा था। :) –

23

आप की तरह कुछ की कोशिश कर सकते:

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

कूल .. अभी भी जावा में कार्यों के आधे से अवगत नहीं है। जवाब के लिए धन्यवाद। –

10

इस प्रयास करें ...

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

मैं गूगल साक्षात्कार में यह प्रश्न पूछा गया था। यदि साक्षात्कार में पूछा गया मॉड्यूल और विभाजन का उपयोग करें। यहाँ जवाब

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

आप ints की एक सरणी और एक अन्य विधि है कि, पत्र के लिए उन ints धर्मान्तरित की तरह एक कार्यक्रम पत्र ग्रेड के लिए संख्या ग्रेड बदलने के लिए, आप क्या करेंगे है का कहना है कि है ...

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 चार करने के लिए: -

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

/*ch[0]=1,ch[1]=2,ch[2]=3,ch[3]=4*/ 
संबंधित मुद्दे