Java 如何在字符数组的某些索引处切换字符?

Java 如何在字符数组的某些索引处切换字符?,java,arrays,char,Java,Arrays,Char,假设我有一个字符数组迷宫[],它包含以下内容: P . X X . . X . . . . . . X . X X T . . . . X . . 我正在写一个函数,如果你想向下移动,它会从迷宫[0][0]中带出“p” 到迷宫[1][0],然后将“.”从迷宫[1][0]带到迷宫[0][0],依此类推 基本上,如何在字符数组中的两个索引处交换值?切换任意两个变量中的值的方法相同:使用临时变量,并通过三个赋值进行交换: char tmp = maze[r1]

假设我有一个字符数组迷宫[],它包含以下内容:

    P . X X .
    . X . . .
    . . . X .
    X X T . .
    . . X . .
我正在写一个函数,如果你想向下移动,它会从迷宫[0][0]中带出“p” 到迷宫[1][0],然后将“.”从迷宫[1][0]带到迷宫[0][0],依此类推


基本上,如何在字符数组中的两个索引处交换值?

切换任意两个变量中的值的方法相同:使用临时变量,并通过三个赋值进行交换:

char tmp = maze[r1][c1];
maze[r1][c1] = maze[r2][c2];
maze[r2][c2] = tmp;

与在任意两个变量中切换值的方式相同:使用临时变量并通过三个赋值进行交换:

char tmp = maze[r1][c1];
maze[r1][c1] = maze[r2][c2];
maze[r2][c2] = tmp;
试试这个:

char temp = maze[1][0];
maze[1][0] = maze[0][0];
maze[0][0] = temp;
更一般化的形式:

void trade(char[][] maze,int r1,int c1,int r2,int c2){
    char temp = maze[r2][c2];
    maze[r2][c2] = maze[r1][c1];
    maze[r1][c1] = temp;
}
试试这个:

char temp = maze[1][0];
maze[1][0] = maze[0][0];
maze[0][0] = temp;
更一般化的形式:

void trade(char[][] maze,int r1,int c1,int r2,int c2){
    char temp = maze[r2][c2];
    maze[r2][c2] = maze[r1][c1];
    maze[r1][c1] = temp;
}

您可以使用temp变量进行更改,并交换数组元素的值

char temp = maze[row1][column0];
maze[row1][column[0] = maze[row2][column2];
maze[row2][coumn2] = temp; 

您可以使用temp变量进行更改,并交换数组元素的值

char temp = maze[row1][column0];
maze[row1][column[0] = maze[row2][column2];
maze[row2][coumn2] = temp; 

你试过什么了吗?你需要一个临时变量。你试过什么了吗?你需要一个临时变量。