자바 초보 질문입니다. NoSuchElementException
조회수 1921회
package two.doomsday;
import java.util.Scanner;
public class DoomsdayMain {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year=1; int mon=1; int day=1;
int dayOfWeek=2;
//날짜 입력
do {
System.out.printf("날짜 입력(YYYY/MM/DD): ");
sc = new Scanner(sc.next()).useDelimiter("\\s*/\\s*");
year = sc.nextInt();
mon = sc.nextInt();
day = sc.nextInt();
} while (isDateValid(year,mon,day,isLeapYear(year))==false);
날짜를 잘못 입력했을 때 다시 입력하게 만들고 싶어서 do~while문을 썼는데
실행하고 나서 날짜를 2020년 2월 30일이라고 틀리게 입력해보니
이렇게 NoSuchElementException
이 뜹니다.
날짜 입력(YYYY/MM/DD): 2020/02/30
날짜 입력(YYYY/MM/DD): Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:937)
at java.base/java.util.Scanner.next(Scanner.java:1478)
at ProblemSolvingHomework/two.doomsday.DoomsdayMain.main(DoomsdayMain.java:15)
스캐너가 문제인 것 같은데 어떻게 해결해야 할까요? 자바 배우기 시작한 지 2주도 채 되지 않아서, 쉽게 설명해 주시면 감사하겠습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력