2013-02-26 85 views
0

初始字符串= 61440 <CARRE> 150 381 188 419 </CARRE>爪哇的Integer.parseInt錯誤

我拆分此字符串到一個數組,它現在包含座標

String[] coord = t.group(2).split(" "); 

所得產量爲:

les coord est :150 381 188 419 
i = 0 et sa valeur est :150 
i = 1 et sa valeur est :381 
i = 2 et sa valeur est :188 
i = 3 et sa valeur est :419 

爲此我做了一個for循環:

formeCoord = new int[coord.length]; 
formeCoord[i] = Integer.parseInt(coord[i]); 

現在我期望一個帶有所有座標的int數組的輸出。而是輸出爲:

Voici la valeur de i =0 et sa valeur int: 0 
Voici la valeur de i =1 et sa valeur int: 0 
Voici la valeur de i =2 et sa valeur int: 0 
Voici la valeur de i =3 et sa valeur int: 419 

下面是for循環:

for (int i = 0; i<formeCoord.length; i++){ 
    System.out.println("Voici la valeur de i =" 
     + i 
     + "et sa valeur int: " 
     + formeCoord[i]); 
} 

有誰知道我做錯了嗎?

+2

你確定你填充了你的數組嗎? 'formeCoord')正確嗎? – mre 2013-02-26 15:51:11

+6

發佈for循環.. – cowls 2013-02-26 15:51:48

+0

當我system.printout數組「coord」它顯示正確。 – user2103633 2013-02-26 15:52:15

回答

6

看來你正在創建一個新的數組,每次迭代,而不是添加到它。

想必您的代碼如下所示:

​​

您需要將其更改爲:

formeCoord = new int[coord.length]; 
for (int i = 0; i < coord.length; i++) 
    formeCoord[i] = Integer.parseInt(coord[i]); 
+0

您可以將您的IDE設置爲將每個可以是最終的變量/對象放到最終。這將有助於找到這個錯誤 – 2013-02-26 15:55:52

+1

哇,我很抱歉,這個愚蠢的錯誤! – user2103633 2013-02-26 15:56:07

2

如果您遍歷下面的代碼...

formeCoord = new int[coord.length]; 
formeCoord[i] = Integer.parseInt(coord[i]); 

除了上次運行時,您每次都重置formeCoord