我试图将2d数组中的元素从其当前位置移动到等于''的位置。
for (int r = 0 ; r < tissue.length ; r++ ){
for (int s = 0 ; s < tissue[i].length ; s++ ){
if ((isSatisfied(tissue, row , column , threshold) == false){
int totalMoves = 0;
totalMoves++;
for (int t = 0 ; t < tissue.length ; t++ ){
for (int u = 0 ; u < tissue[i].length ; u++ ){
if ([t][u] == ' '){
[r][s] = [t][u];
}
}
}
}
}
}
答案 0 :(得分:0)
您实际上并未提出问题,但我猜测此帖子的原因是您发布的代码无法按预期运行。快速阅读后,我发现了一些问题。
tissue[i].length
时有两条可疑行。变量i
未在您发布的代码中的任何位置定义,因此我假设它已在其他地方定义(否则代码无法编译)。但是,看起来第一个应该是tissue[r].length
而第二个应该是tissue[t].length
。' '
的位置,则复制该值,然后继续循环。从问题的标题来看,我的猜测是你应该在那时突破循环(或从方法返回)以防止进一步分配到所有' '
位置。