[JAVA] 스페이스를 포함한 문자열 입력 받기 scanner.nextLine

전역변주의 DB·2024년 1월 9일
0

하루회고

목록 보기
8/11

글을 쓰는 계기 : 백준 문제를 풀다가 SCANNER 함수를 잘못사용해서 그 과정에 대해서 기록

푸는 문제는 꼬마 정민이라고
7 77 777에 대해서 입력을 받으면
7 + 77 + 777 에 대한 출력을 하는 코드를 작성하는 문제이다.

https://www.acmicpc.net/problem/11382

나의 문제는.
scanner.next() 를 사용하면 공백(스페이스)을 포함한 문자열 전체가 받아진다고 생각을 했는데
로그를 찍어보니, 스페이스바 전까지 입력이 된다는 것을 확인했고, 검색으로 확신을 했다.

해결방법 : scanner.next를 nextLine으로 수정

성공!

하지만, BOJ에 답을 제출하니, 컴파일에러가 계속 뜬다..

검색해보니, 받는 숫자가 int 형보다 큰 값을 출력하므로 long(8byte)를 사용하여 출력하라고 한다.

그렇다면 자료형을 복습해보자

자료형

기본 자료형 + 참조 자료형

기본 자료형 8가지

  1. boolean
  2. char
  3. byte (1byte) 범위 : -128 ~ 127
  4. short (2byte) 범위 : -32798 ~ 32767
  5. int (4byte) 범위 : -2147483648 ~ 2147483647
  6. long (8byte) : -9223372036854775808 ~ 9223372036854775807
  7. float (4byte) :
  8. double (8byte)

참고

profile
배운 내용을 기록하는 공간입니다.

0개의 댓글