Java Integer.ParseInt错误

0 java arrays string int parseint

初始字符串= 61440 <CARRE> 150 381 188 419 </CARRE>

我把这个字符串拆分成一个数组,现在包含了坐标

String[] coord = t.group(2).split(" ");
Run Code Online (Sandbox Code Playgroud)

结果输出是:

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
Run Code Online (Sandbox Code Playgroud)

为此我做了一个for循环:

formeCoord = new int[coord.length];
formeCoord[i] = Integer.parseInt(coord[i]);
Run Code Online (Sandbox Code Playgroud)

现在我期望一个带有所有坐标的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
Run Code Online (Sandbox Code Playgroud)

这是for循环:

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

有谁知道我做错了什么?

Duk*_*ing 6

看起来你每次迭代都在创建一个新数组,而不是添加它.

大概你的代码看起来像这样:

for (int i = 0; i < coord.length; i++)
{
  formeCoord = new int[coord.length];
  formeCoord[i] = Integer.parseInt(coord[i]);
}
Run Code Online (Sandbox Code Playgroud)

您需要将其更改为:

formeCoord = new int[coord.length];
for (int i = 0; i < coord.length; i++)
  formeCoord[i] = Integer.parseInt(coord[i]);
Run Code Online (Sandbox Code Playgroud)