본문 바로가기

공부/JAVA

자바 nextInt() 후 nextLine()

반응형
public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int a = sc.nextInt();
		
		String result = "";
		
		for(int j=0; j<a; j++ ) {
		
			String s = sc.nextLine();
			s = s.replace(" ", "");

위의 코드를 보면 nextInt 후 for문에 nextLine을 사용했더니 문자열이 제대로 출력되지 않는 결과가 발생.

문제 원인을 찾아보니

1. nextInt의 경우 개행문자(\n), 키보드 엔터키 누르기 바로 전의 숫자만 입력을 받음.

2. 이후 nextLine을 사용할 경우 개행문자(\n)까지 입력 받기 때문에 오류 발생.

 

해결책

 

사이에 nextLine( )을 사용하여 개행문자 삭제

 

제대로 된 출력 값을 얻을 수 있다.

반응형

'공부 > JAVA' 카테고리의 다른 글

출력 스트림 객체와 API  (0) 2021.10.30
자바의 특징  (0) 2021.10.30
너비 우선 탐색(BFS) & 깊이 우선 탐색(DFS)  (0) 2021.08.27
완전탐색/이분탐색  (0) 2021.08.22
스택과 큐(Stack & Queue)  (0) 2021.08.15