我正在尝试在2d char数组中切换两个元素,但它不起作用。我在其他类似的问题中也读过,temp变量应该是一维数组,但是我不确定这是真的。谁能帮助我了解为什么这不起作用?
public static void moveTo(char[][] tissue, int i, int j){
char temp = tissue[i][j];
for(int k = 0; k < tissue.length; k++){
for(int l=0; l<tissue.length; l++){
if(tissue[k][l] == ' '){
tissue[k][l] = tissue[i][j];
tissue[k][l] = temp;
return;
}
}
}
}
最佳答案
在第二个循环中,您必须使用tissue[k].length
。
并且tissue[i][j]
必须用空白字符影响(如果我理解得很好)。 temp
是没有用的。
public static void moveTo(char[][] tissue, int i, int j){
for(int k = 0; k < tissue.length; k++){
for(int l=0; l<tissue[k].length; l++){
if(tissue[k][l] == ' '){
tissue[k][l] = tissue[i][j];
tissue[i][j] = ' ';
return;
}
}
}
}
关于java - Java在二维数组中切换char元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27091763/