이번 문제도 간단하지만, 아마도 다들 런타임 에러때문에 곤란을 겪고 있지 않을까? 하는 생각이 들었다.
아마도 다들 기존과 같이 이런식으로 제출했다가 런타임 에러가 발생할 것이다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true) {
int a = sc.nextInt(), b = sc.nextInt();
System.out.println(a + b);
}
}
NoSuchElement를 검색해봤더니 아래의 사유로 발생한다고 한다,
이럴 때 사용할 수 있는 것이 hasNextInt( ) 메서드이다.
간단하게 hasNextInt( ) 메서드는 다음에 읽어들일수 있는 정수가 있는지 확인한다.
이 메서드의 장점은 정수가 아닌 다른 형식의 입력값에도 비정상적으로 종료되지 않는다는 점이다.
아래는 hasNextInt( )를 이용한 코드이다. 이렇게 제출하면 런타임 에러없이 제출이 가능하다.
import java.util.*;
public class Ex7_19 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()) { // ㅇ
int a = sc.nextInt(), b = sc.nextInt();
System.out.println(a + b);
}
}
}
'알고리즘 분류 > Step3 반복문' 카테고리의 다른 글
</Step3_11> 10952 A+B - 5 JAVA (0) | 2023.03.13 |
---|---|
</Step3_10> 2439 별 찍기 - 2 JAVA (0) | 2023.03.12 |
</Step3_9> 2438 별 찍기 - 1 JAVA (0) | 2023.03.12 |
</Step3_8> 11022 A+B -8 JAVA (0) | 2023.03.12 |
</Step3_7> 11021 A+B -7 JAVA (0) | 2023.03.12 |