扫描仪分隔符是否通过参数传递?

时间:2014-10-08 14:17:17

标签: java java.util.scanner delimiter

我需要逐个字符地解析输入行,这将通过几种方法完成。要通过char进行char,我使用useDelimiter(“”)。我的问题是:我是否需要在每种方法中设置此分隔符?或者一开始就够了吗?

e.g。

void start() {
    Scanner in = new Scanner(System.in);
    in.useDelimiter("");
    char first = in.next();
    readSecond(in);
    ...
}

void readSecond(Scanner in) {
    //in.useDelimiter(""); <-- is this needed?
    char second = in.next();
    ...
}

示例输入:A5c * vd

谢谢!

2 个答案:

答案 0 :(得分:2)

如果在方法所在的类体中声明并初始化Scanner对象,则不必每次都设置它。如果在每种方法中初始化Scanner,那么我认为你必须设置分隔符在每个方法体中。

答案 1 :(得分:1)

设置后,分隔符保持不变。

因此,您无需再次将其设置为相同的值。