如果我输入用逗号分隔的数字,我怎么能提取数字?

WM.*_*WM. -1 java

例如....

26,15,37

我怎样才能从扫描仪中获取数字(例如,我想添加或减去,,,?)

mar*_*usk 7

看看String.split().

如果您想使用ScannerAPI:

private static final Pattern COMMA_PATTERN = Pattern.compile("\\s*,\\s*");

public List<Integer> getIntegerList() {
    // Assumes scanner is positioned at first integer in list.
    List<Integer> integers = new ArrayList<Integer>();
    for (;;) {
        integers.add(scanner.nextInt());
        if (scanner.hasNext(COMMA_PATTERN)) {
            // Read and discard comma token, and continue parsing list.
            scanner.next();
        } else {
            // Number is not followed by comma, stop parsing.
            break;
        }
    }
    return integers;
}
Run Code Online (Sandbox Code Playgroud)

需要更多的错误处理,但希望这个例子说明了这种方法.

您还可以使用Scanner.useDelimiter():

private static final Pattern COMMA_PATTERN = Pattern.compile("\\s*,\\s*");

public List<Integer> getIntegerList() {
    // Assumes scanner is positioned at first integer in list.
    List<Integer> integers = new ArrayList<Integer>();
    Pattern oldDelimiter = scanner.delimiter();
    scanner.useDelimiter(COMMA_PATTERN);
    while (scanner.hasNextInt()) {
        integers.add(scanner.nextInt());
    }
    // Reset delimiter
    scanner.useDelimiter(oldDelimiter);
    return integers;
}
Run Code Online (Sandbox Code Playgroud)