import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(Integer.toOctalString(n));
// String octalString = Integer.toOctalString(n);
// System.out.println(octalString);
}
}
10진수를 8진수로 바꾸기 위해서
Integer.toOctalString(n);
를 사용했다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(Integer.toHexString(n));
}
}
10진수를 16진수로 바꾸기 위해서
Integer.toHexString(n)
를 사용했다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(Integer.toHexString(n).toUpperCase());
}
}
16진수로 바꾸고 소문자를 대문자로 바꾸고 싶어서
.toUpperCase()
를 추가했다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String n = sc.nextLine();
System.out.println(Integer.parseInt(n, 8));
}
}
8진수를 10진수로 바꾸기 위해서 8진수를
String
으로 받고,Integer.parseInt(n, 8)
로 적었다. (n은String
이고 8은 몇 진수였는지 적는다.)
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String n = sc.nextLine();
System.out.println(Integer.toOctalString(Integer.parseInt(n,16)));
}
}
16진수를 10진수로 바꾸고, 다시 8진수로 바꾸었다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int c = sc.next().charAt(0);
System.out.println(c);
}
}
Scanner
로 문자를 입력받을 때에는next()
로 받고.charAt(0)
으로 입력받은 한 문자를char
로 바꾼다. 그리고 그 문자를int
로 저장하면 아스키코드로 저장된다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println((char)n);
}
}
숫자를
char
로 바꾸어 출력시키면 해당 숫자가 아스키코드로 인식되어 문자로 출력된다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
String[] arr = sc.nextLine().split(" ");
long num1 = Long.parseLong(arr[0]);
long num2 = Long.parseLong(arr[1]);
System.out.println(num1 + num2);
// long num1 = Long.parseLong(sc.next());
// long num2 = Long.parseLong(sc.next());
// System.out.println(num1 + num2);
// arr을 쓰지 않고 이렇게 바로 받아도 된다.
}
}
입력되는 정수는
-1073741824 ~ 1073741824
이기 때문에int
의 범위를 초과한다.int
의 범위는-2,147,483,648 ~ 2,147,483,647
로,1073741824 * 2 = 2148483648
가 되어int
의 범위를 넘게 된다. 그래서long
으로 바꾸어 더해주었다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
long num1 = Long.parseLong(sc.next());
long num2 = Long.parseLong(sc.next());
System.out.println(num1 + num2);
}
}
배열에 넣지 않고 바로
long
으로 바꿔 저장했다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(-n);
}
}
정수 앞에
-
를 붙여서 부호를 바꿔주었다.