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 3
或1, 2, 3
。 目前它可以处理1 2 3
和1,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?