본문 바로가기

개발과/내손을 JAVA

개행문자 SKIP or nextline()

요리레시피 노트를 만들라는 HW

 

필요능력 : Scanner의 기능의 이해, pint/println 차이, next/nextline 차이이해,

문자열 합치는 방법 : String title = "제목";
                                   title = "[ " + title + " ]";  // [ 제목 ]

 

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String title = sc.nextLine();
float rate = sc.nextFloat();

 

이런 코드를 짤 때 첫번째 float 만 입력을 받고 그다음 nextLine() 부분을 Skip 하는 경우가 발생한다.

 

이는 nextfloat() 에서 Enter 를 칠 때 발생하는 '개행문자'를 처리하지 않고 버퍼에 남기기 때문이다.

 

따라서 scanner 에 있는 개행문자 \r\n 을 비워주어야 한다.

 

1. 1번과 2번 코드 사이에 sc.nextLine() 을 집어넣어서 개행문자를 처리.

 

2. 1번과 2번 코드 사이에 sc.skip("[\\r\\n]+");  집어넣으면 개행문자 스킵