尝试使用1d数组中的特定值填充2d数组

时间:2015-01-27 18:58:36

标签: java arrays

我试图将1d数组中的值转换为2d数组,但跳过我不想要的值。在前面的方法中,我将无效值转换为-1d,1d数组dimtoke,现在我正在尝试填充我的2d数组,称为维度,并尝试跳过无效-1并继续使用下一个有效值填充数组。

        // Taking valid line segments and putting them in 2d array.

        dimensions = new int[countLines][4];

        for (int i = 0; i < dimensions.length; i++) {
           for (int j = 0; j < dimensions[0].length; j++) {
              if(dimtoke[n] != -1){
                 dimensions[i][j] = dimtoke[n];
                 n++;
              }
              else
                 n++;       
           }
        }

我的问题是,不是用下一个有效值填充2d数组,而是填充0,我需要下一个值。

1 个答案:

答案 0 :(得分:1)

问题似乎是当你找到-1时你还在递增j变量。像这样改变你的代码。

 dimensions = new int[countLines][4];

    for (int i = 0; i < dimensions.length; i++) {
        for (int j = 0; j < dimensions[0].length; j++) {
            if(dimtoke[n] != -1){
                dimensions[i][j] = dimtoke[n];
            }
        else
            j--;            
        }
           n++;
    }

无论条件如何,我也把n ++移出了你的名字。