문자열 형태의 2진수를 입력받아 10진수로 바꾸는 프로그램을 작성하시오.
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
String[] b = str.split("");
int sum = 0;
int answer = 1;
int j = 1;
while (true) {
if (b.length - j < 0) {
break;
}
switch (b[b.length - j]) {
case "0": {
j++;
break;
}
case "1": {
answer = 1;
if ("1" == b[b.length - 1]) {
sum += answer;
break;
}
for (int k = 0; k < j; k++) {
answer *= 2;
}
answer /= 2;
j++;
sum += answer;
break;
}
}
}
System.out.println(str + "(2) = " +sum+"(10)");
sc.close();
}
}
'Algorithm > JavaFestival' 카테고리의 다른 글
JavaFestival34 문제풀이 (0) | 2022.07.07 |
---|---|
JavaFestival33 문제풀이 (0) | 2022.07.07 |
JavaFestival31 문제풀이 (0) | 2022.07.07 |
JavaFestival30 문제풀이 (0) | 2022.07.07 |
JavaFestival29 문제풀이 (0) | 2022.07.07 |