扫描仪类nextInt带负数

时间:2016-02-21 02:26:10

标签: java

我试图从这样的输入中获取数字:

hello 10 4
hey 23 -5 21 304 -9
anotherone -2 -4 21

使用Java的Scanner课程。 我目前的代码如下:

private void openConfigFile(String config) {
    try {
        this.configFile = new Scanner(new File(config));
    } catch (Exception e) {
        e.printStackTrace();
    }
}


private ArrayList<Integer> getConfig(String component)
{
    ArrayList<Integer> output = new ArrayList<Integer>();
    try {
        while (configFile.hasNext())
            if (configFile.next().equals(component)) break;

        while (configFile.hasNextInt()) {
            output.add(configFile.nextInt());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return output;
}

此代码不适用于具有负整数的行。我认为它将负号视为字符串而不是数字。

有没有简单的解决方法来解决这个问题而不会使代码复杂化?

0 个答案:

没有答案