我正在尝试切换二维字符数组中的两个元素,但它不起作用。我在其他类似的问题中读到,临时变量应该是一维数组,但我不相信这是真的。谁能帮我理解为什么这不起作用?
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切换二维数组中的char元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27091763/