【发布时间】:2015-05-22 17:19:59
【问题描述】:
我有这个代码:
public final class Board {
private final int[][] blocks;
private final int N;
private final int blanki;
private final int blankj;
int i, j;
// construct a board from an N-by-N array of blocks
public Board(int[][] blocks) {
this.blocks = new int[blocks.length][blocks.length];
for(i = 0; i < blocks.length; i++){
for(j = 0; j < blocks.length; j++){
this.blocks[i][j] = blocks[i][j];
if(blocks[i][j] == 0) {
int f = i;
int c = j;
}
}
}
this.N = this.dimension();
this.blanki = f;
this.blankj = c;
}
}
并得到以下错误:
文件:C:\Users\cbozanic\algs4\Board.java [行:28] 错误:f 无法解析为变量 文件:C:\Users\cbozanic\algs4\Board.java [行:29] 错误:c 无法解析为变量 文件:C:\Users\cbozanic\algs4\Board.java [行:159] 错误:局部变量s可能没有被初始化
我真的不明白我做错了什么!任何帮助将不胜感激。
【问题讨论】:
-
这是因为您已将
f和c声明为循环内的变量。此外,我强烈建议您使用如此先进的 IDE - 它会帮助您摆脱此类错误。
标签: java variables private final