代码之家  ›  专栏  ›  技术社区  ›  Oliver Tworkowski

2D字符串数组转换为2D Int数组

  •  0
  • Oliver Tworkowski  · 技术社区  · 7 年前

    我想将2D字符串数组转换为整数2D数组。如何做到这一点。我尝试了一些事情,但我现在无法集中精力,我想今天完成:D提前谢谢。 所以以下是数组的所有值:

    parts[] []: 
    
    [0] "25"
    [1] "3"
    [2] "18"
    
    [0] "20"
    [1] "12"
    [2] "18"
    
    [0] "1"
    [1] "1"
    [2] "15"
    
    //string.length = 3;
    
    String[] [] parts = new String[string.length][];
    int[] [] stringToInt = new int[string.length][];
    
    for(int a=0; a<string.length;a++){
        for(int b=0; b<3;b++){
          stringToInt[a] = Integer.parseInt(parts[a] [b]);    <---Error
        }
    }
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   Ian Mc    7 年前

    初始化字符串数组,然后定义2D int数组时,会遇到一些问题。这可能就是你想要做的:

    String parts[][] = { { "25", "3", "18" }, { "20", "12", "18" }, { "1", "1", "15" } };
    
    int[][] stringToInt = new int[parts.length][parts[0].length];
    
    for (int a = 0; a < parts.length; a++) {
        for (int b = 0; b < parts[0].length; b++) {
            stringToInt[a][b] = Integer.parseInt(parts[a][b]);
        }
    }
    
        2
  •  0
  •   NBlaine    7 年前
        public static void main(String[] args) {
        int cols = 3;
        int rows = 3;
        String [][] parts = new String[cols][rows];
    
        //init the 2d array
        parts[0][0] = "25";
        parts[0][1] = "3";
        parts[0][2] = "18";
    
        parts[1][0] = "20";
        parts[1][1] = "12";
        parts[1][2] = "18";
    
        parts[2][0] = "1";
        parts[2][1] = "1";
        parts[2][2] = "15";
    
        //the array you want
        int [][] intArray = new int [cols][rows];
    
        for(int c = 0; c < cols; c++){
    
            for(int r = 0; r < rows; r++){
                intArray[c][r] = Integer.parseInt(parts[c][r]);
            }
    
        }
    
    
    }
    

    我想你的错误可能是因为你 stringToInt[a]= 而不是 stringToInt[a][b]=