Java 长度为的2d数组错误
在这部分代码中,我遇到了一些trublecols=input[0].length()它告诉我 1) 无法调用int基元类型的长度 2) 长度无法解析或不是字段。 我正在为扫雷舰游戏编写代码,在这里我想用我的文件索引填充网格Java 长度为的2d数组错误,java,minesweeper,Java,Minesweeper,在这部分代码中,我遇到了一些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
Firstlength
是数组中的字段,而不是函数。所以您应该使用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);