2016-10-29 1 views
0

저는 char []과 int를 매개 변수로 취하는 정적 메서드를가집니다. char [] 배열은 숫자 배열이며 int는 지정된 숫자의 기수 또는 밑수입니다. 주어진 기본 배열에서 char 배열을 정수 타입으로 변환하려고하는데, 그렇게하는 방법을 잃어 버렸습니다. 지금까지 기본 10 숫자의 char []을 취해이를 기본 10 int로 변환하는 메서드를 만들었습니다. 여기특정 기본에서 해당 문자 배열을 해당 기본 숫자의 int로 변경하려면 어떻게해야합니까?

는 지금까지이 작업은 다음과 같습니다

public static int parseInt(char[] valueAsChars, int radix) 
{ 

    char[] letters = {'A','B','C','D','E','F'}; 

    String convertedString = ""; 
    int convertedNumber = 0; 
    int digit = 0; 
    int counter = 1; 
    char letter = '0'; 

    // converts array to String 
    for(int arrayPlace = 0; arrayPlace < valueAsChars.length; arrayPlace++) 
    { 
     convertedString = convertedString + valueAsChars[arrayPlace]; 
    } 

    //converts String to int 
    for(int stringPlace = convertedString.length() - 1; stringPlace >= 0; stringPlace--) 
    { 
     digit = (convertedString.charAt(stringPlace)-'0'); 
     convertedNumber += digit * counter; 
     counter *= radix; 
    } 
    return convertedNumber; 
} 

나는이 있지만, 다른 기지와 숫자를 어떻게해야합니까?

+0

는 정확히에 정교한시겠습니까? –

+0

특정베이스 (기수)에 주어진 char 배열을 같은베이스의 int로 변경하는 방법에 대해 혼란스러워합니다. 예를 들어, 문자가 16 진수로 주어진다면 { '1', '2', '3', 'A'} 어떻게 int 값으로 표현하겠습니까? –

답변

0

는 기존의 Java 메소드를 사용하는 것을 시도하십시오 : 당신이 손실되는 경우

public static int parseInt(char[] valueAsChars, int radix) {  
    return Integer.parseInt(new String(valueAsChars), radix); 
} 
관련 문제