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) + 1;
System.out.println((char) c);
}
}
입력받은 문자를 아스키코드로 저장하는데, 그 다음 문자를 출력해야 하기 때문에 1을 더해줬다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a / b);
}
}
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a % b);
}
}
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
long n = Long.parseLong(sc.next());
System.out.println(++n);
}
}
정수가
-2147483648 ~ +2147483647
의 범위로 입력되기 때문에 1을 더하면int
범위를 초과한다. 그래서long
을 썼다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
long a = Long.parseLong(sc.next());
long b = Long.parseLong(sc.next());
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);
System.out.printf("%.2f", (double)a/(double)b);
}
}
- 정수 두 개가
0 <= a, b <= 2147483647
, b는 0이 아니므로 a+b의 최대값이int
범위를 초과하여long
을 사용했다.- 마지막 출력은 소수점 셋째자리에서 반올림하여 둘째자리까지 출력시켜야 하기 때문에
%.2f
로 출력시킬 소수점 자리를 지정해주었고,long
으로 입력받은 a와 b를double
로 형변환 시켜주어 소수점 아래 숫자들도 제대로 나오도록 했다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
long n1 = Long.parseLong(sc.next());
long n2 = Long.parseLong(sc.next());
long n3 = Long.parseLong(sc.next());
System.out.println(n1+n2+n3);
System.out.printf("%.1f", ((float)n1+(float)n2+(float)n3)/3);
}
}
마지막 출력은 소수점 둘째자리에서 반올림하여 첫째자리까지 출력시켜야 하기 때문에
%.1f
로 출력시킬 소수점 자리를 지정해주었고,long
으로 입력받은 a와 b를double
로 형변환 시켜주어 소수점 아래 숫자들도 제대로 나오도록 했다.
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<<1);
}
}
2배를 해줄 때
*2
뿐만 아니라<<
를 이용하여 비트단위 시프트연산자 를 사용할 수도 있다.n<<1
을 하면 한 비트를 왼쪽으로 밀기 때문에n
의 2배가 된다. 반대로n>>1
을 하면 비트를 오른쪽으로 한 칸 밀기 때문에n
의 절반이 된다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a<<b);
}
}
a에
2^b
만큼 곱하기 때문에 시프트 연산자를 사용했다.
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if(a > b){
System.out.println(1);
} else{
System.out.println(0);
}
}
}
import java.util.Scanner;
public class Main{
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if(a==b){
System.out.println(1);
} else{
System.out.println(0);
}
}
}