Java 长度为的2d数组错误

Java 长度为的2d数组错误,java,minesweeper,Java,Minesweeper,在这部分代码中,我遇到了一些trublecols=input[0].length()

在这部分代码中,我遇到了一些trublecols=input[0].length()
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);
    }
    //
}
publicstaticvoidmain(字符串[]args){
扫描仪文件=新扫描仪(“in.txt”);
内线=0;
int m=file.nextInt();
int n=file.nextInt();
int index=file.nextInt();
int[][]输入=新的int[m][n];
字符串.valueOf(输入);
for(int[]字段:输入){
雷场(场);
}
file.close();
line=line++;
}
私有静态无效打印雷区(int[]输入){
int rows=input.length,cols=input[0].length;
int[][]网格=新的int[行][cols];
对于(int i=0;i
First
length
是数组中的字段,而不是函数。所以您应该使用
cols=input[0].length-删除那些括号

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

替换

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

然后您还需要更换

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


提示:Java不是JavaScript。双重标记没有意义。然后length是数组上的一个字段,而不是一个方法。所以放下()——在问其他问题之前,一定要花些时间研究这些基础知识。但再次强调:这是超基础的,你需要在发布之前做一些真正的研究。提示:在你的学习曲线的这一点上,任何你梦寐以求的问题都可以在这里提出。并回答。我这样做了,但仍然有一个错误“无法在数组类型int[]上调用长度”您得到了什么错误以及从哪里得到的错误?这是无法在数组类型int[]上调用长度的错误,我在这一行得到它int rows=input.length,cols=input[0].length();使用
cols=input[0]。长度
-删除那些括号。
for (int [] field : input) {
    printMineField(field);
}
printMineField(input);