๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Coding Test/PS

[๋ฐฑ์ค€/Java] 11718๋ฒˆ: ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ธฐ (๋ธŒ๋ก ์ฆˆ3)

๐ŸŸค ๋ฐฑ์ค€ 11718๋ฒˆ: ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•˜๊ธฐ (๋ธŒ๋ก ์ฆˆ3)

 

๐Ÿ“‘ ํ•ต์‹ฌ ์š”๊ตฌ์‚ฌํ•ญ

  • ์ž…๋ ฅ: ์ž…๋ ฅ์˜ ์ข…๋ฃŒ ์‹œ์  ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์Œ โ†’ EOF(End Of File)๊นŒ์ง€ ์ž…๋ ฅ ๋ฐ›์•„์•ผ ํ•จ
  • ์ถœ๋ ฅ: ๋ฐ›์€ ๋ฌธ์ž์—ด ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ

 

๋ฌธ์ œ ํ’€์ด

1์ฐจ ํ’€์ด

โŒ ํ‹€๋ฆผ
import java.io.*;
import java.lang.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
        	// ์ตœ๋Œ€ ์ž…๋ ฅํ–‰ 100๊นŒ์ง€ ๋ฐ˜๋ณต
		for (int i=0; i<100; i++) {
		    String str = br.readLine();
		    System.out.println(str);
		}
	}
}

 

BufferedReader.readLine()์€ ๋” ์ด์ƒ ์ฝ์„ ์ค„์ด ์—†์œผ๋ฉด null ๋ฐ˜ํ™˜

 

โŒ ํ‹€๋ฆฐ ์ด์œ 

: ์ž…๋ ฅ์ด 100์ค„ ๋ฏธ๋งŒ์ด๋ฉด null ์ถœ๋ ฅ

 

e.g. 3์ค„๋งŒ ๋“ค์–ด์˜ค๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—์„œ for (int i=0; i<100; i++) ์“ฐ๋ฉด br.readLine()์ด 4๋ฒˆ์งธ ๋ฐ˜๋ณต์—์„œ null ๋ฐ˜ํ™˜
โ†’ System.out.println(null) ์ถœ๋ ฅ
โ†’ ์˜ค๋‹ต

Hello
World
Java
null
null
...
(์ดํ›„ 97์ค„์˜ null)

 

โ‡’ ์ฑ„์  ์‹œ์Šคํ…œ์—์„œ๋Š” ์ถ”๊ฐ€ ์ถœ๋ ฅ๋œ null๋“ค ๋•Œ๋ฌธ์— ์˜ค๋‹ต ์ฒ˜๋ฆฌ

 

2์ฐจ ํ’€์ด

import java.io.*;
import java.lang.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str;
		
        	// EOF๊นŒ์ง€ ์ฒ˜๋ฆฌ
		while ((str = br.readLine()) != null) {
		    System.out.println(str);
		}
	}
}

 

EOF(End of File)

: ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋” ์ด์ƒ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์šฉ์–ด

  • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋• ์ฃผ๋กœ ์ž…๋ ฅ๊ฐ’์„ ์–ผ๋งˆ๋‚˜ ๋ฐ›์„์ง€ ๋ช…์‹œํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ
  • ์ž…๋ ฅ์ด ๋ช‡ ์ค„์ด๋“ , ํŒŒ์ผ์˜ ๋(EOF)์„ ๋งŒ๋‚˜๋ฉด ์ž๋™ ์ข…๋ฃŒ
  • ์ค„ ์ˆ˜์— ์ƒ๊ด€ ์—†์ด ์ •ํ™•ํžˆ ๋™์ž‘

Scanner

  • hasNext() : ์ž…๋ ฅ๋œ ํ† ํฐ์ด ์žˆ์œผ๋ฉด true ๋ฐ˜ํ™˜, ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฒฝ์šฐ false ๋ฐ˜ํ™˜
Scanner sc = new Scanner(System.in);

while (sc.hasNext()) {
	System.out.println(sc.nextLine());
}

 

BufferedReader

  • Scanner์™€ ๋‹ฌ๋ฆฌ EOF ์ฒ˜๋ฆฌ ๋‚ด์žฅ ํ•จ์ˆ˜ ์—†์Œ
  • br.readLine()์œผ๋กœ ์ž…๋ ฅ๊ฐ’์„ ๊ณ„์† ์ฝ๋˜, ์ฝ์€ ๊ฐ’์ด null์ด ๋˜๋ฉด ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ
BufferedReader br = new BufferedReader(new IntputStreamReader(System.in));
String input = "";

while ((input = br.readLine()) != null) {
	// ์ดํ›„ ๋กœ์ง ์ „๊ฐœ
}

์ฐธ๊ณ  ์ž๋ฃŒ

https://steady-coding.tistory.com/227#google_vignette

 

EOF์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž (JAVA)

์•ˆ๋…•ํ•˜์„ธ์š”? ์ฝ”๋”ฉ์ค‘๋…์ž…๋‹ˆ๋‹ค. ์ €๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ž…์ถœ๋ ฅ์˜ ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•ด ์ฃผ๋Š” BufferedReader์™€ BufferedWriter์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” EOF๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค. EOF๋Š” ๋ฌด์—‡์ผ๊นŒ? EOF๋Š” End of F

steady-coding.tistory.com