[자바JAVA]1034 : [기초-출력변환] 8진 정수 1개 입력받아 10진수로 출력하기(설명), Scanner로 2진수, 8진수 16진수 받기, 진수변환

문제 1034 : [기초-출력변환] 8진 정수 1개 입력받아 10진수로 출력하기(설명)

8진수로 입력된 정수 1개를 10진수로 바꾸어 출력해보자.

  • 입력예시
    8진 정수 1개가 입력된다.
1
13
  • 출력예시
    10진수로 바꾸어 출력한다.
1
11




코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
sc.close();

//String을 8진수로 변경
int octal = Integer.parseInt(s, 8);

//8진수를 10진수로 출력
System.out.printf("%d", octal);
}

}




배운 지식

2진수, 8진수 16진수를 Scanner로 받으려면 String 데이터타입 또는 int데이터타입을 이용하면된다.

String에서 n진수로 변환

  • 2진수 : Integer.valueOf(String s, 2);, return : int
  • 8진수 : Integer.valueOf(String s, 8);, return : int
  • 16진수 : Integer.valueOf(String s, 16);, return : int

10진수에서 n진수로 변환

  • 2진수 : Integer.toBinaryString(int i), return : String
  • 8진수 : Integer.toOctalString(int i), return : String
  • 16진수 : Integer.toHexString(int i), return : String

n진수에서 10진수로 변환

  • 2진수 : Integer.parseInt(String s, 2);, return : int
  • 8진수 : Integer.parseInt(String s, 8);, return : int
  • 16진수 : Integer.parseInt(String s, 16);, return : int




다른 문제 풀이가 보고싶다면?