NoSuchElement
java.util.NoSuchElementException: 존재하지 않는 것을 가져오려고 할 때 발생
Scanner
Scanner에서 이 에러가 발생하는 경우: 더 이상 입력받을 수 있는 값이 없을 때
EX1) 두 수를 입력받고, 합을 출력할 때 수가 하나만 입력되는 경우 // 수가 하나 입력되지 않았을 때
java.util.NoSuchElementException오류
더 이상 입력이 없다는 것을 판단할 부분 필요
Scanner에서는 hasNext, hasNextInt, hasNextLong,..
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+b);
}
}
}
StringTokenizer
StringTokenizer에서 에러가 발생하는 경우는 Scanner와 비슷
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
StringTokenizer st = new StringTokenizer(line);
int sum = 0;
for (int i=0; i<6; i++) {
if (st.hasMoreTokens()) {
sum += Integer.parseInt(st.nextToken());
}
}
System.out.println(sum);
}
}
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
StringTokenizer st = new StringTokenizer(line);
int sum = 0;
while (st.hasMoreTokens()) {
sum += Integer.parseInt(st.nextToken());
}
System.out.println(sum);
}
}
'백준 문제 풀기' 카테고리의 다른 글
[단계별로 풀어보기 1단계] 입출력과 사칙연산 (0) | 2023.06.28 |
---|---|
EOF(End of File) (반복문 A+B -4) (0) | 2023.06.23 |
StringTokenizer 클래스(백준 반복문, 빠른 A+B) (0) | 2023.06.20 |