java - 如何切换二维数组中的两列?

标签 java arrays multidimensional-array

我正在用 Java 编写数独代码。

我已经写了一个代码,但不是列,而是行被切换!

int[] tempField = array2D[myFirstCol_toSwitch];
array2D[myFirstCol_toSwitch] = array2D[mySecondCol_toSwitch];
array2D[mySecondCol_toSwitch] = tempField;

为了生成数独板,我需要随机交换列。

最佳答案

2D Java 数组的“行”和“列”取决于您的视角;即您如何在心里将数组映射为垂直和水平。

但是,如果您当前在示例中所做的是切换“行”(根据您的心理模型),那么切换“列”的方法就是迭代各个元素;例如像这样的东西:

for (int i = 0; i < array2D; i++) {
    int tempField = array2D[i][myFirstCol_toSwitch];
    array2D[i][myFirstCol_toSwitch] = array2D[i][mySecondCol_toSwitch];
    array2D[i][mySecondCol_toSwitch] = tempField;
}

这可以用其他(可以说)更简洁的方式来编写。我选择这种方式是为了弄清楚转置两列实际上需要发生什么。

关于java - 如何切换二维数组中的两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411899/

相关文章:

java - 如何将 .setColor() 作为 PGM 值

java - 无法在Eclipse IDE中执行Java代码

java - 我想找到图像的坐标

javascript - 如何在React Native中创建具有x y坐标的动态数组

javascript - 如何使用js查找对象数组中的重复数据?

java - 如何将字节数组转换为整数数组

javascript - 将数组值(vcard 参数)排序为变量

c - 使用二维数组创建和存储波形文件数据时遇到问题

java - 在java中填充数组

php - 为什么我不能在关联数组中添加新的键值对?