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);
}
}
정수 앞에
-를 붙여서 부호를 바꿔주었다.