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);
    }
}

 

+ Recent posts