Notice
Recent Posts
Recent Comments
Link
Dino Rudy
[백준] Java-input.txt로 값 입력 받기 - 공룡 루디 본문
안녕하세요 Python-input.txt로 값 입력받기에 이어 Java-input.txt로 입력받기입니다.
바로 본론으로 들어가겠습니다.
오늘 예시는 가장 간단한 문제인 1000번 문제를 예시로 들겠습니다.
https://www.acmicpc.net/problem/1000
1000번: A+B
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
Scanner 이용해서 input.txt로 입력받기!
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
System.setIn(new FileInputStream("src/input.txt"));
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+b);
}
}
백준 알고리즘을 풀 때 보통 Scanner 객체를 생성한 후 입력값을 받는 방법을 많이 사용합니다.
input.txt로 입력을 받기 위해서는 FileInputStream을 import 해주고
System.setIn(new FileInputStream("input.txt파일경로"))를 해주면 끝입니다.!!
제출할 때는
System.setIn(new FileInputStream("src/input.txt")); 주석처리 잊지 마세요!
BufferedReader 이용해서 input.txt로 입력받기!!
Scanner보다 빠르게 입력을 받고 싶다면 BufferedReader를 사용하면 됩니다.
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
System.setIn(new FileInputStream("src/input.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] s=br.readLine().split(" ");
System.out.println(Integer.parseInt(s[0])+Integer.parseInt(s[1]));
}
}
마찬가지로 핵심은
System.setIn(new FileInputStream("src/input.txt"));를
통해 input.txt를 Standard 입력으로 사용한다고 reassign 해줍니다.
채점 시 해당 부분 주석처리 필수!!
지금까지 Java에서 input.txt로 입력을 받는 방법을 알아봤습니다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 배열 돌리기 1_16926번 - 공룡 루디 (0) | 2021.08.14 |
---|---|
[백준] 캐슬 디펜스_17135 - 공룡 루디 (0) | 2021.08.13 |
[백준] 치킨 배달_15686번 - 공룡 루디 (0) | 2021.08.13 |
[백준] 연산자 끼워넣기_14888번 - 공룡 루디 (0) | 2021.08.10 |
[백준] Python-input.txt로 입력 받기! -공룡 루디 (1) | 2021.07.16 |