앞선 글에서는 데이터형에 관한 문제와 답안을 작성했다.
[JAVA] 코드업 기초 100문제 - [기초-데이터형] 1028 ~ 1030
오늘 글에서는 코드업 기초 100문제 중 출력변환에 관한 문제와 답안을 정리할 것 이다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int ln = sc.nextInt();
System.out.printf("%o", ln);
}
}
설명) printf() 지시자 라는 키워드로 검색을 굉장히 많이했었다.
아래 이미지를 토대로, 이후 문제들을 풀면 좋을 듯 하다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int ln = sc.nextInt();
System.out.printf("%x", ln);
}
}
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int ln = sc.nextInt();
System.out.printf("%X", ln);
}
}
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a ;
String b = sc.nextLine();
a = Integer.valueOf(b,8); // 8진수인 b를 int로 바꾼다.
System.out.print(a);
}
}
설명) n진수 -> 10진수로 바꾸는 경우에는, Integer 클래스의 .valueOb(숫자, 숫자가 몇 진수인지)를 사용하여 10진수로 나타낸다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a ;
String b = sc.nextLine();
a = Integer.valueOf(b,16); // 16진수인 b를 int로 바꾼다.
System.out.print(Integer.toOctalString(a)); // 8진수로 변환하여 출력한다.
}
}
설명) 16진수 -> 8진수 로 변환하는 경우에는,
바로 변환하지 않고, 10진수라는 터널을 거친다.
16진수 -> 10진수 -> 8진수
그 외의 10진수가 아닌 수들 간의 변환하는 경우에, 이 방법을 이용한다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
char alpa = sc.nextLine().charAt(0);
int ialpa = (int)alpa;
System.out.println(ialpa);
}
}
설명) 아스키코드를 이용하여, 입력된 영문자에 해당하는 10진수를 출력한다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int alpa = sc.nextInt();
char calpa = (char)alpa;
System.out.println(calpa);
}
}
설명) 이전 문제에서는 문자 -> 정수 로 변환하는 문자였다면,
해당 문제는, 정수 -> 문자 로 변환하는 문제이다.
이 문제 또한 아스키 코드 문자 표를 참고하여 풀면 된다.