数字格式异常错误处理

时间:2015-11-12 16:16:12

标签: java loops numberformatexception

我有一个充满数字的字符串数组。默认情况下,数组中的任何未设置元素都将为null。然后我循环遍历此数组,将字符串解析为int值,但是当循环到达NumberFormatException元素时,我会遇到null。< / p>

我事先并不知道数组中有多少个数字,所以我使用大数组来确保有足够的空间来容纳所有字符串。

如何在循环到达null元素之前停止循环?

for (int x = 1 ; x < array1.length ; x++){
    int newnode = Integer.parseInt(array1[x]);
    //searching in matrix
    // do other stuff
}

2 个答案:

答案 0 :(得分:1)

如果您不知道每次都要提前处理的元素数量,那么请使用动态大小的集合而不是固定大小的数组。

更改填充您的收藏集的代码,使用List<String>代替String[]。列表是动态调整大小的,并且会随着向其添加更多元素而不断增长。迭代时不会返回任何null元素,除非您首先专门添加它们,因此您的代码永远不会尝试解析null值。

然后,此更改将允许您像这样迭代List:

for (String number : array1) { // You might want to rename array1 to something meaningful...
    int newNode = Integer.parseInt(number);
    // Do other stuff
}

如果需要,您仍然可以维护一个单独的索引变量,它只是手动声明和递增,而不是作为循环结构的一部分。

答案 1 :(得分:-1)

我认为这是真的:

{{1}}