我试图将扫描仪输入添加到< code>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()
;
您可以检查用户是否输入了长度为 0
的字符串,即 “”
,表示它们已完成:
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Queue<String> queue = new LinkedList<>();
System.out.println("Enter input:");
String input;
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]
问题内容: 我正在尝试做的是拥有多个具有不同变量的输入。每个变量将是不同方程式的一部分。我正在寻找一种方法来做,我想我有一个主意。我只想知道这是否合法,也许还有更好的方法。 问题答案: 如果每个输入都问相同的问题,则应使用循环和输入数组: 或者如Chip所建议的,您可以从一行中解析输入: 您在正确的轨道上,所做的工作正常。这只是一种更好,更灵活的处理方式。
我有以下课程 我不能输入歌曲名nr 1,因为它总是同时显示前两首歌。 如果我输入3,就像这样:
只是想知道在我完成输入后如何终止程序?因为在几次“输入”之后扫描仪仍然会继续,假设我要继续输入...我试过了: 和 它们不起作用....程序继续运行,打乱了初衷,
对于作业,我必须编写以下代码: 当我尝试编译它时,它在命令提示符下给了我3个错误,说“无法解析符号,符号:类扫描仪,位置:类单词,扫描仪用户输入=新扫描仪(System.in)”。我不确定错误在哪里。我应该使用BufferedReader作为输入吗?
我试图构建一个通过扫描仪构建的整数ArrayList。用户必须输入5到10个整数才能使ArrayList有效,但在运行程序时,实际输入数将是未知的。 如何构建程序,使其只在用户输入5、6、7、8、9或10个整数时运行?
我开发了一个字符排序器,我想每次字符串排序后提示用户输入一个新的字符串。我遇到的问题是扫描仪一直在扫描用户的第一个输入。如果我使用scanner.next(),它不会计算输入末尾的空白,这不是解决方案。 这是while循环的开始。一旦代码完成,它将再次从“inputtext”开始。