스캐너 입력을 큐에 추가하고 입력 읽기 후 루프를 종료하는 방법 [중복]

Nov 25 2020

스캐너 입력을에 추가하려고하는데 입력을 입력 ArrayList한 후 루프를 종료 할 수 없습니다. 입력을 완료 한 후 어떻게이 루프를 종료 할 수 있습니까?

ArrayList<String> inputs = new ArrayList<>();
int i = 0;
while(scan.hasNext()){//while there is an hasNext
    inputs.add(scan.next());// add to the inputs array of queue
    i++;
}scan.close()

;

답변

2 SashSinha Nov 25 2020 at 07:50

사용자가 길이가 0, 즉, ""완료되었음을 나타내는 문자열을 입력했는지 확인할 수 있습니다 .

import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        System.out.println("Enter input:");
        String input = "";
        try (Scanner scan = new Scanner(System.in)) {
            while (scan.hasNextLine()
                    && (input = scan.nextLine()).length() != 0) {
                queue.add(input);
            }
        }
        System.out.printf("Queue: %s%n", queue);
    }
}

사용 예 :

Enter input:
A
B
C

Queue: [A, B, C]