我正在编写一个程序,用户在一行中输入未知数量的数字,例如:2 6 3 9 12
。
我必须在队列中插入这些数字。但是,在我输入非整数值之前,循环不会结束。我在网上找到了一个使用.useDelimiter(" *")
的解决方案。除了我输入两位数整数时,它的工作原理是:它将它分成两个单独的数字。有没有办法结束这个循环而不必输入非整数值?
Scanner in = new Scanner(System.in)
while(in.hasNextInt())
{
myQueue.insert(in.nextInt());
}
答案 0 :(得分:2)
以这种方式:
[A-Z]
答案 1 :(得分:2)
由于数字在一行上,您可以阅读该行并在该文本上构建System.out.println("Please enter a line of integer values: ");
Scanner in = new Scanner(System.in);
if (in.hasNextLine())
{
String line = in.nextLine();
Scanner scan = new Scanner(line);
while (scan.hasNextInt()) {
myQueue.insert(scan.nextInt());
}
}
。像,
data test;
input var1 var2 @@;
datalines;
1 100 2 200 3 300 4 400 5 500
run;
proc reg data=TEST;
MODEL VAR1 = VAR2;
RUN;
答案 2 :(得分:0)
我认为你走在正确的轨道上。有很多方法可以做到这一点。您可以通过添加以下行来修改当前代码:
in.useDelimiter(System.getProperty("line.separator"));
这将在任何平台上正确地将迭代器划分为新行。