[백준/JAVA] EOF(End Of File)
#10951 A+B -4 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net ☼ EOF(End Of File) - 데이터로부터 더 이상 읽을 수 있는 데이터가 없을 나타냄 hasNextInt() ➜ Scanner 객체에 입력 값이 int 값일 때만 ture 반환 haxNext() ➜ 다음에 가져올 값이 있으면 true , 없으면 false "boolean 타입 반환" next() ➜ 매개변수 혹은 iterator 되는 타입 반환 "숫자 값" ➜ 아무 타입 가능 (int, string 등) 📮개인 공부를 위한 공간으로 틀린 부분이 있을 수도 있습니다.📮 문제점 및 수정 사항이 있을 시, 언제든지 댓글로 피드백 주시기 바랍니다..
2022.06.09
[백준/JAVA] 버퍼입출력 BufferedReader/BufferedWriter
#15552 빠른 A+B 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net Scanner/ System.out.println 말고 BufferedReader/BufferedWriter 사용 ! Scanner/ System.out.println VS BufferedReader/BufferedWriter - 키보드의 입력이 키를 누르는 즉시 프로그램으로 바로 전달됨 - 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송함 - 버퍼가 가득 차거나, 개행 문자가 나타나면, 버퍼의 내용을 한 번에 전송함 버퍼에 모아뒀다가 한 번에 전송하는..
2022.06.08

[백준/JAVA] EOF(End Of File)

개발의 숩
|2022. 6. 9. 23:44

#10951 A+B -4

 

10951번: A+B - 4

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

EOF(End Of File)

- 데이터로부터 더 이상 읽을 수 있는 데이터가 없을 나타냄

 

hasNextInt()

➜ Scanner 객체에 입력 값이 int 값일 때만 ture 반환

haxNext()

➜ 다음에 가져올 값이 있으면 true , 없으면 false  "boolean 타입 반환"

next()

➜ 매개변수 혹은 iterator 되는 타입 반환 "숫자 값"

➜ 아무 타입 가능 (int, string 등)

 

 

📮개인 공부를 위한 공간으로 틀린 부분이 있을 수도 있습니다.📮

문제점 및 수정 사항이 있을 시, 언제든지 댓글로 피드백 주시기 바랍니다.

 

 

[참고]

 

(JAVA)hasNext() vs next() 메서드 차이점?

정의 Iterator 인터페이스의 메서드로 자주 사용됩니다. Iterator에 추가적인 요소가 있을 때 가져오는 역할을 하는데요. 단순히 영어만 보면 조금 헷갈립니다. hasNext는 "뭔가 다음에 있으면 가져오

yeon-kr.tistory.com

 

 

[백준] 10951번 : A+B - 4 - JAVA [자바]

https://www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 간단한 문제지만 의외로 종료시점을 몰라 틀리는 경우들..

st-lab.tistory.com

 

 

 

'JAVA' 카테고리의 다른 글

[백준/JAVA] 버퍼입출력 BufferedReader/BufferedWriter  (0) 2022.06.08

#15552 빠른 A+B

 

15552번: 빠른 A+B

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

www.acmicpc.net

Scanner/ System.out.println 말고 BufferedReader/BufferedWriter 사용 !

 

Scanner/ System.out.println VS BufferedReader/BufferedWriter

<버퍼를 사용하지 않는 입력 : Scanner/ System.out.println >

- 키보드의 입력이 키를 누르는 즉시 프로그램으로 바로 전달됨

 

<버퍼를 사용하는 입력 : BufferedReader/BufferedWriter >

- 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송함

- 버퍼가 가득 차거나, 개행 문자가 나타나면, 버퍼의 내용을 한 번에 전송함

 

버퍼에 모아뒀다가 한 번에 전송하는 게 효율적 

 

☼ 버퍼(Buffer)

- 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 임시 메모리 영역

- 입출력 속도 향상을 위해 사용

 

☼ BufferedReader 사용방법

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

public class Main {

	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st;
		
		int T = Integer.parseInt(br.readLine()); //BufferedReader 타입 고정 : String  ➜  Integer.parselnt 통해 int 형 변환 
		
		for(int i=0;i<T;i++) {
			st = new StringTokenizer(br.readLine()," "); //StringTokenizer 생성과 동시 문자 입력
			
			int a = Integer.parseInt(st.nextToken()); //StringTokenzier 토큰을 반환되는 타입 : String  ➜  Integer.parselnt 통해 int 형 변환 
			int b = Integer.parseInt(st.nextToken());
			int sum = a+b;
			
			bw.write(sum+"\n"); // 출력 스트림 출력
		}
		br.close();
		bw.flush(); //버퍼 비우기
		bw.close(); //버퍼 닫기
	}

}

new InputStreamReader(System.in) 

키보드에서 입력 받기 위해 표준 입력 스트림(System.in)과 InputStreamReader 스트림 객체 연결

BufferedReader br

➜ br에 연결되는 문자입력 버퍼스트림 생성

 - 개행문자만 경계로 인식

 - readLine() 메서드로 입력 

 - 입력 받은 데이터 String 고정

 - 동기화되어 멀티스레드 환경에서 안전

 - 예외 처리 필수 , readLine() 마다 try/catch문으로 감싸주거나 throws IOException을 통해 처리한다.

BufferedWriter bw

➜ bw에 연결되는 문자출력 버퍼스트림 생성

readLine

➜ 스트림으로부터 한 줄을 읽어 문자열로 리턴

StringTokenzier

➜ 우리가 지정한 구분자로 문자열 분리

Integer.parselnt

 - String 타입 숫자   int 타입 숫자 (변환)

 - Char At() 과의 차이 ?

 

 

🙋 질문 ➜ 🙆

🙋: 위에 작성한 소스코드와 동일하게 이클립스 컴파일했는데 똑같은 오류 반복

구글링을 통해 Project 항목 > Clean 했음에도 불구하고 오류 반복해서 

새 프로젝트를 만들어 실행했더니 컴파일 성공했다.

어디에서 왜 오류가 난걸까?

🙆 : 괄호가 짝이 맞는지 살펴보자 

 

 

 

 

📮개인 공부를 위한 공간으로 틀린 부분이 있을 수도 있습니다.📮

문제점 및 수정 사항이 있을 시, 언제든지 댓글로 피드백 주시기 바랍니다.

 

 

 

 

[참고]

 

[Java 자바 입출력] BufferedReader/BufferedWriter

[자바 입출력 함수] BufferedReader / BufferWriter BufferedReader/BufferedWriter은 이름처럼 버퍼를 이용해서 읽고 쓰는 함수입니다. 이 함수는 버퍼를 이용하기 때문에 이 함수를 이용하면 입출력의 효율이..

jhnyang.tistory.com

 

[자바/JAVA] StringTokenizer를 이용해 문자열을 쪼개보자

StringTokenizer StringTokenizer 클래스는 문자열을 우리가 지정한 구분자로 문자열을 쪼개주는 클래스입니다. 그렇게 쪼개어진 문자열을 우리는 토큰(token)이라고 부릅니다. StringTokenizer를 사용하기 위

reakwon.tistory.com

 

[백준] 15552번 : 빠른 A+B - JAVA [자바]

https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다...

st-lab.tistory.com

 

[JAVA] 백준 15552번 - 빠른 A+B

<코드> import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw..

cocoon1787.tistory.com

 

BufferedReader, BufferedWriter

1. Scanner - 띄어쓰기와 개행문자를 경계로 하여 입력 값을 인식한다. - 원하는 타입의 입력을 받을 수 있기 때문에 따로 가공할 필요가 없다. - 버퍼 사이즈가 1024 char이기 때문에 많은 입력을 필요

kmkunk.tistory.com

 

'JAVA' 카테고리의 다른 글

[백준/JAVA] EOF(End Of File)  (0) 2022.06.09