首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当赋值给NumberFormatException错误时,如何防止向量展开?

问当赋值给NumberFormatException错误时,如何防止向量展开?
EN

Stack Overflow用户
提问于 2019-04-14 23:01:22
回答 1查看 26关注 0票数 0

我在命令行中插入值..。输入的整数将被插入到我的向量中,NumberFormatException将捕获诸如"dog“等字符串。但是,在我的代码中,我收到了一个ArrayIndexOutOfBoundsException.我明白为什么,但我怎样才能阻止这一切呢?

我希望我的代码打印出向量接受整数,但它拒绝字符串,并继续在命令行中读取我的输入。

我面临的额外问题.如何获得导致字符串打印的错误??当我只想要“狗”时,我的代码给我输入字符串:“狗”

代码语言:javascript
复制
    int i;
    int result;

    Vector numbers = new Vector();
    for (i = 0; i < args.length; i++) {
        try {
            result = Integer.parseInt(args[i]);
        System.out.println("Converter method says integer OK - " + result);
            numbers.add(i, result);
        } catch (NumberFormatException e) {
            System.out.println("Catch block says the argument" + e.getMessage() + "is ignored because" + e.getMessage());

        }
    }

输入示例: 11 22 33狗44猫55 66

**

我的产出:

转换器方法表示整型OK - 11

转换器方法表示整型OK - 22

转换器方法表示整型OK - 33

Catch块表示argumentFor输入字符串:"cat“被忽略,becauseFor输入字符串:”cat“

转换器方法表示整型OK - 44

线程"main“java.lang.ArrayIndexOutOfBoundsException中的异常:4>3

代码语言:javascript
复制
at java.base/java.util.Vector.insertElementAt(Vector.java:619)

at java.base/java.util.Vector.add(Vector.java:857)

at exceptionalcommandline.ExceptionalCommandLine.main(ExceptionalCommandLine.java:16)

**

预期产出:

转换器方法表示整型OK - 11

转换器方法表示整型OK - 22

转换器方法表示整型OK - 33

Catch block说参数"cat“被忽略,因为"cat”

转换器方法表示整型OK - 44

Catch block说“狗”这个论点被忽略了,因为“狗”

转换器方法表示整型OK - 55

转换器方法表示整型OK - 66

EN

回答 1

Stack Overflow用户

发布于 2019-04-14 23:13:43

即使你得到了一个例外,我的价值仍然会增加。因此,在异常之后,可用索引与要添加的i值之间将存在差距。因此,将代码更改为:

代码语言:javascript
复制
for (i = 0; i < args.length; i++) {
    try {
        result = Integer.parseInt(args[i]);
        System.out.println("Converter method says integer OK - " + result);
        numbers.add(result);
    } catch (NumberFormatException e) {
        System.out.println("Catch block says the argument" + e.getMessage() + "is ignored because" + e.getMessage());
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55680797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档