입력할 때 Scanner만 써봤어서 조금 낯선 BufferedReader, BufferedWriter
찾아보니 Scanner보다 속도가 빠르다고 하여 공부해보려고 한다.
BufferedReader를 사용하기 위해서는 java.io.BufferedReader를 import 해야하고,
InputStreamReader를 사용하기 위해서는 java.io.InputStreamReader를 import 해야한다.
BufferedWriter를 사용하기 위해서는 java.io.BufferedWriter를 import 해야하고,
OutputStreamWriter 를 사용하기 위해서는 java.io.OutputStreamWriter 를 import 해야한다.
또한 입력할 때는 예외 처리를 해줘야해서 main 메서드 선언한 후, main 메서드 시작하기 바로 직전에
throws를 이용해 예외 처리를 해주어야 하고, 예외처리를 위한 IOException을 사용하기 위해
java.io.IOException을 import 해야한다.
import 해줘야 하는 5개가 모두 java.io.~ 이니 * 을 사용해서 import 시켰다.
처음 입력하게 되는 T는 반복횟수이고,
num은 띄어쓰기로 두개의 숫자를 입력하여 indexOf(" ")로 띄어쓰기된 index 번호를 int index에 넣었다.
첫번째 숫자는 처음(0)부터 띄어쓰기된 부분까지, 두번째 숫자는 띄어쓰기된 인덱스 이후부터 끝까지이다.
substring의 경우 substring(시작인덱스,끝인덱스)일 경우 시작인덱스에서 끝인덱스 전까지 문자열을 리턴하고,
substring(인덱스)일 경우 인덱스부터 끝까지 문자열을 리턴한다.
import java.io.*;
public class buffered
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = Integer.parseInt(br.readLine());
for(int i = 0; i < T; i++)
{
String num = br.readLine();
int index = num.indexOf(" ");
bw.write((Integer.parseInt(num.substring(0, index)) + Integer.parseInt(num.substring(index + 1))) + "\n" );
}
br.close();
bw.close();
}
}
초록 글씨가 내가 입력한 숫자, 검은 글씨가 bw.writer로 출력된 결과이다.
3
1 4 5 6 11 22 5 11 33 |
'Java' 카테고리의 다른 글
[Java] 산술연산자, 증감연산자, 비교연산자 (0) | 2024.07.21 |
---|---|
[Java] 변수와 타입 (0) | 2024.07.20 |
[Java] 자바 시작 (0) | 2024.07.19 |
[Java] 숫자로 된 char를 int로 변경 Character.getNumericValue() (0) | 2024.06.28 |
[Windows] 윈도우 10 JDK 17 설치 & 환경변수 설정 & 이클립스 설치 (0) | 2024.06.28 |