长度为2d阵列错误

时间:2017-10-07 11:37:03

标签: java minesweeper

我在代码 cols = input [0] .length(); 的这一部分中有一些遗嘱我告诉我 1)不能调用int的原始类型的长度 2)长度无法解决或不是字段。 我正在为扫雷游戏提供代码,在这里我想用我的文件中的索引填充网格。

public static void main(String[] args) {

    Scanner file = new Scanner ("in.txt");

    int line=0;
    int m = file.nextInt();
    int n = file.nextInt();
    int index = file.nextInt();

    int [][] input = new int[m][n];
    String.valueOf(input);

    for (int [] field : input) {
        printMineField(field);
    }
    file.close();
    line= line++;
}

private static void printMineField(int[] input) {


    int rows = input.length, cols = input[0].length ;
    int[][] grid = new int[rows][cols];


    for (int i = 0; i < rows; i++) {
        Arrays.fill(grid[i], 0);
    }
    //
}

1 个答案:

答案 0 :(得分:1)

首先length是数组中的字段,而不是函数。所以你应该使用cols = input[0].length; - 删除那些括号。

接下来,您将一维数组传递给您的方法。你应该传递一个二维数组。

替换

private static void printMineField(int[] input) 

使用:

private static void printMineField(int[][] input) 

然后你还需要替​​换

for (int [] field : input) {
    printMineField(field);
}

使用:

printMineField(input);