Como adicionar a entrada do scanner a uma fila e sair do loop após a leitura da entrada [duplicado]
Nov 25 2020
Estou tentando adicionar entradas de scanner em um ArrayList
, mas não consigo sair do loop depois de inserir as entradas. Como posso sair desse loop após terminar de inserir as entradas?
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()
;
Respostas
2 SashSinha Nov 25 2020 at 07:50
Você pode verificar se o usuário inseriu uma string com um comprimento de 0
, ou seja ""
, indicando que eles foram concluídos:
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);
}
}
Exemplo de uso:
Enter input:
A
B
C
Queue: [A, B, C]
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
George Harrison ficou chateado por suas letras de 'Hurdy Gurdy Man' de Donovan não terem sido usadas