Scanner 로 입력받아 연산하는 방법과 BufferedReader 로 입력받아 연산하는 방법, 두 가지 방법으로 풀이할 것이다!
1-1)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int A = in.nextInt();
int B = in.nextInt();
in.close();
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);
}
}
1-2)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int A = in.nextInt();
int B = in.nextInt();
in.close();
StringBuilder sb = new StringBuilder();
sb.append(A+B);
sb.append('\n');
sb.append(A-B);
sb.append('\n');
sb.append(A*B);
sb.append('\n');
sb.append(A/B);
sb.append('\n');
sb.append(A%B);
System.out.print(sb);
}
}
1-3) 문자열에 담아둔 뒤 출력하는 방법
import java.util.Scanner;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in);
int A = in.nextInt();
int B = in.nextInt();
in.close();
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write((A+B) + "\n");
bw.write((A-B) + "\n");
bw.write((A*B) + "\n");
bw.write((A/B) + "\n");
bw.write((A%B) + "\n");
bw.flush();
bw.close();
}
}
2-1) BufferedReader 을 쓰는 방식
Scanner 입력방식에 비해 훨씬 빠른게 장점이다.
한 줄로 입력되어 공백 단위로 구별해주어야 하기 때문에 readLine() 을 통해 입력 받아야 함!
readLine() 은 한 행을 전부 읽기 때문에 공백단위로 입력해 준 문자열을 공백단위로 분리해주어야 문제를 풀 수 있을 것이다.
문자열 분리 방법 두 가지로 풀어보자.
- StringTokenizer 클래스를 이용하여 분리해주는 방법
- split() 을 이용하는 방법
그리고 반드시 자료형 타입을 잘 보아야 한다.
StringTokenizer 와 String.split 은 모두 문자열이기 때문에 반환되는 값을 Integer.parseInt()로 int 형으로 변환시켜준다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
StringTokenizer st = new StringTokenizer(str," ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
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);
/*
굳이 String 변수 생성 안하고 입력과 동시에 구분자로 분리해줘도 된다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine()," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
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);
*/
'백준 BAEKJOON' 카테고리의 다른 글
[백준] 18108번: 1998년생인 내가 태국에서는 2541년생?! - JAVA (0) | 2023.01.28 |
---|---|
[백준] 10926번 ??! 출력하기 - JAVA (0) | 2023.01.28 |
[백준] 1008번 A / B - JAVA (0) | 2023.01.26 |
[백준] 10998번 A X B 출력하기 - JAVA (0) | 2023.01.26 |
[백준1001번] A - B 출력하기 - JAVA (1) | 2023.01.26 |