2012-04-16 4 views
0

java의 변환 함수/유틸리티를 사용하지 않고 문자열 "123"을 123으로 변환하는 프로그램을 작성하라는 Java 인터뷰를 받았습니다. 수업.자바 변환 함수/유틸리티 클래스를 사용하지 않고 문자열을 숫자로 변환

가능한 경우 혼란 스럽습니다. 어떤 아이디어? 감사합니다.

+0

? 숫자에 대한 문자열지도를 만들 수 있고, 문자열을 반복하고, 문자열로 숫자를 찾고, 숫자를 구성 할 수 있습니까? – Colleen

답변

1

문자열을 개별 문자로 분리하고 각각의 숫자 값에 매핑 한 다음 각 값에 자리 값을 곱하여 조합하십시오.

+0

Scott은 코드로 설명 할 수 있습니까? 고마워 –

0
내가 대답 신용 :)

"무엇 당신이 문자열을 반복, 숫자 문자열의지도를 가질 수 있을까요? 유틸리티 클래스로 계산, 조회를 얻을 수 있도록 나는 내 댓글 답변 했어야

문자열에 의해 번호, 그리고 번호를 구성? " 의사의

:

유틸리티 클래스로 계산 무엇
Map<String, Integer> = { 
"0":0, 
"1":1, 
"2":2, 
... etc } 

int number = 0; 

for(i=string.length-1; i>=0; i--){ 
String substr = string.substring(i, i+1); 
int digit = map.get(substr); 
number += 10^(string.length-i)*digit; 
} 

return number 
+0

Colleen 제공된 코드에 따라 다음과 같이 썼습니다 : Map map = new HashMap (); map.put ("0", 0); map.put ("1", 1); map.put ("2", 2); map.put ("3", 3); map.put ("4", 4); map.put ("5", 5); map.put ("6", 6); map.put ("7", 7); map.put ("8", 8); map.put ("9", 9); \t \t int = 0; String myNumber = "456"; for (int i = 0; i

+0

또한 "지도"는 복잡한 Java 객체이며 map.get() 함수를 사용할 때 자동 변환이 필요할 수 있습니다. 면접관이 좀 더 간단한 방법으로 생각하고 있는지 궁금해합니다. –

+0

Integer에서 int로 변환해야합니다 (의사 코드 였기 때문에하지 않았습니다). 그래서 당신이 할 경우 작동합니다 int digit = (int) map.get (substr) – Colleen

관련 문제