Java分隔符问题

我遇到了分隔符问题。 我的代码如下:

Scanner in=new Scanner(System.in);
in.useDelimiter("D");
int x,y,z;
System.out.println("Enter 3 digits:  ");
x=in.nextInt();
y=in.nextInt();
z=in.nextInt();
System.out.println(x + " " + y + " " + z);
in.close();

请原谅我对分隔符的经验不足,但我只能让我的程序将输入与1个字符分开,而不是2个。 该程序必须能够输入如下内容:

1 2 31, 2, 3 。 目前它可以处理1 2 31,2,3但不是1, 2, 3

最后一种情况下的额外空间必须将其扔掉。 你如何处理这个问题?

此外,我必须能够输入可变数量的整数作为输入,最多可以存储100个整数,然后将它们插入到队列中。 显然,我定义的三个变量是不够的,但明确定义100也是矫枉过正。 什么是最有效的方法来处理这个问题? 提前致谢。


尝试将分隔符更改为D+ (即in.useDelimiter("D+"); )。

编辑:
目前,您正在要求分隔符分割为一个非数字字符。 通过添加+你告诉它分割连续的非数字字符块。 分隔符是一个正则表达式,这里有更多的信息:www.regular-expressions.info/tutorial.html


Scanner in=new Scanner(System.in);
in.useDelimiter("D+");
int n=5; // Here you should define your limit
int[] data=new int[n];
for(int i=0;i<data.length;i++)
{
    System.out.println("Enter "+i+" digit:  ");
    data[i]=in.nextInt();
}

// print store value
for(int i=0;i<data.length;i++)
{
    System.out.println(data[i]);
}
in.close(); 

上面的代码可以帮助你获得n不。 的整数输入

链接地址: http://www.djcxy.com/p/78359.html

上一篇: Java Delimiter Issue

下一篇: Is calling Scanner methods without using the read content bad?