16진수 문자열을 2진수 문자열로 바꾸는 코드를 구현하였다
먼저 16진수 문자열과 2진수 문자열을 배열로 저장한다
static char[] hexarray={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f','A', 'B', 'C', 'D', 'E', 'F'};
static String[] hextobin={"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001",
"1010", "1011", "1100", "1101", "1110", "1111", "1010", "1011", "1100", "1101", "1110", "1111" };
대소문자 상관없이 변환하고 싶어서 두 가지 경우 모두 추가했다
변환하고 싶은 문자열의 데이터를 한 문자씩(16진수) 쪼개서 2진수로 변환하는 함수를 작성한다
public static String change(String data){
for(int i=0;i<data.length();i++){ // 변환하고자하는 문자열의 처음부터 마지막까지검사
for (int j=0;j<hexarray.length;j++) {
if(data.charAt(i)==hexarray[j]) {
b=hextobin[j]; //16진수 배열 위치에 해당하는 2진수 값을 문자열b에 저장
sum+=b; //변환된 2진수를 sum문자열에 합친다
}
}
} return sum; //변환된 모든 문자열 출력
}
[전체코드]
public class Ex1 {
public static void main(String[] args) {
String b = "abcABC";
System.out.print("결과: "+change(b));
}
static char[] hexarray={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f','A', 'B', 'C', 'D', 'E', 'F'};
static String[] hextobin={"0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100",
"1101", "1110", "1111", "1010", "1011", "1100", "1101", "1110", "1111" };
static String b;
static String sum="";
public static String change(String data){
for(int i=0;i<data.length();i++){
for (int j=0;j<hexarray.length;j++) {
if(data.charAt(i)==hexarray[j]) {
b=hextobin[j];
sum+=b;
}
}
}
return sum;
}
}
[출력 결과]
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 문자열 배열에서 특정 문자 찾기(특정 문자 포함 여부 확인) (0) | 2021.06.29 |
---|---|
자바 특정 문자 & 특수 문자 제거/치환하기 (replace, replaceAll, replaceFirst)함수 사용 (0) | 2021.06.16 |
안드로이드 어플 자동 업데이트 기능 구현하기 (Android/Java) (0) | 2021.06.10 |
Eclipse 설치하기 (JAVA IDE, Hello World 출력하기) (0) | 2020.11.29 |
JAVA 설치하기(JDK 설치, 환경변수 설정) (0) | 2020.10.30 |
댓글