728x90

a) 232번째 코드라인에서 예외 발생
b) java.util.NoSuchElementException
c) java.util.NoSuchElementException 예외 ?
: 더이상 Element가 없는데도 불러오려고 할 때 발생한다.
즉, Scanner가 읽어올 스트림이 없는데 읽으려고 해서 발생한 예외.
d) 해결방안

Stream을 닫아주는 sc.close();을 제거하면 해결 되는 모습을 볼 수 있다.
문제의 상황

1. 232번째 코드라인에서 예외가 발생했다고 하지만, (여기서는 일어날 에러가 마땅히 보이지도 않았다)
해당 코드를 실행시킬때 예외가 발생했다.
2. num : 상품의 고유 번호를 입력 받아 저장할 변수.
3. for문 : 0번째 부터 배열리스트 객체의 크기보다 작을때까지 (인덱스는 0부터 시작하니)
반복하면서,
4. if문 : 만약 내가 입력한 고유번호가 배열리스트 객체의 i번째 값의 고유번호랑 같아 ?
그러면 그 객체(상품)의 재고를 변경할거야.
5. stock : 상품의 변경할 재고의 갯수를 입력 받아 저장할 변수.
6. 배열리스트 객체의 i번째 객체(상품)에서 changeStock이라는 메서드를 호출할거야.
7.


main 에서 받아온 stock을 기존의 재고에 더하거나, 빼는 상황.
8. 기능을 수행하고, sc.close(); 를 해준 상황인데, 이것을 제거해주면 해결 된다.
마무리하며
프로그램 진행 흐름 체크 하기
반응형
'Exception (예외) > Java' 카테고리의 다른 글
NullPointerException (예외) (0) | 2023.08.21 |
---|---|
IndexOutOfBoundsException (예외) (0) | 2023.05.20 |
NullPointerException (예외) (0) | 2023.05.13 |
IndexOutOfBoundsException (예외) (0) | 2023.05.08 |