Java & Spring/Java

Scanner클래스 next()메서드 개행문자 처리

DJ.Kang 2024. 7. 22. 20:35
  1. 객체 생성
    import java.util.Scanner;
    Scanner scanner = new Scanner(System.in);
  2. 다양한 메서드
    • scanner.next() : 공백을 기준으로 다음 단어를 읽음, 개행 문자를 구분자로 사용하여 개행문자가 버퍼에 남지않음
      String s = sc.next(); // "hello world"입력 "hello" 출력


    • scanner.nextLine() : 개행 문자까지의 전체 줄을 읽음, 개행 문자를 포함하여 읽어들임
      String s = sc.nextLine(); // "hello world"입력 "hello world" 출력
    • scanner.nextInt(), scanner.nextFloat() : 공백을 기준으로 다음 단어를 읽고 개행 문자를 버퍼에 남겨둠
  3. nextLine()과 다른 next()메서드 혼합 사용 시 문제점만약 scanner.nextLine()으로 개행처리를 하지않으면
    number입력 후 버퍼에남아있는 개행문자가 text에 읽혀 text가 개행문자가 되고
    원래 입력하려던 문자열을 입력받지 못할 수 있다.
    int number = scanner.nextInt(); 
    scanner.nextLine(); 
    // 개행 문자 처리 String text = scanner.nextLine();