나를 기록하다
article thumbnail
반응형

Java의 Scanner 클래스에서 nextInt() 메소드를 사용하는 것과 nextLine() 메소드를 사용하여 Integer.parseInt() 메소드를 사용하여 int형으로 변환하는 것은 다음과 같은 차이점이 있습니다.

nextInt() 사용

  • nextInt() 메소드는 공백 문자(스페이스, 탭, 개행 등)을 구분자로 하여 다음으로 나오는 정수 값을 읽어옵니다.
  • 입력받은 문자열을 자동으로 int형으로 변환하므로, 따로 Integer.parseInt() 메소드를 호출할 필요가 없습니다.
  • 이 방법의 장점은 코드가 간결하고 쉽게 작성할 수 있다는 것입니다.

하지만 입력받은 정수 값 이후에 문자열이 있을 경우, 문자열을 다음 입력으로 처리하기 때문에 예기치 않은 결과를 가져올 수 있습니다. 예를 들어, 다음과 같은 입력이 있다고 가정해보겠습니다.

Copy code
123 abc

위 입력을 nextInt()를 사용하여 처리하면, 123만 읽어와서 int형으로 변환됩니다. 그리고 다음에 나오는 "abc"는 다음 입력으로 처리됩니다. 이런 경우, nextLine() 메소드를 사용하여 문자열 전체를 읽어와서 처리하는 것이 좋습니다.

nextLine() 및 Integer.parseInt() 사용

  • nextLine() 메소드는 개행 문자(\n)를 구분자로 하여 입력받은 전체 문자열을 읽어옵니다.
  • 이후에 Integer.parseInt() 메소드를 사용하여 문자열을 int형으로 변환합니다.
  • 이 방법의 장점은 정수 이후에 나오는 문자열도 모두 처리할 수 있다는 것입니다.

하지만 코드가 다소 복잡해지고, 입력값이 정수가 아닐 경우 NumberFormatException이 발생할 수 있습니다.

따라서, 입력값에 따라 적절한 메소드를 사용하여 처리하는 것이 좋습니다. 만약 정수 이후에 나오는 문자열도 중요한 데이터이거나 입력값이 복잡하지 않은 경우에는 nextInt()를 사용하여 간단하게 처리하는 것이 좋습니다.

 

반응형
profile

나를 기록하다

@prao

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...