在Java语言中,可以使用递归的方式生成NxM布尔数组的每种可能组合。以下是一个示例代码:
import java.util.Arrays;
public class BooleanArrayCombinations {
public static void generateCombinations(boolean[][] result, boolean[] temp, int row, int col) {
if (row == result.length) {
// 打印结果或进行其他操作
System.out.println(Arrays.deepToString(result));
return;
}
if (col == result[row].length) {
// 递归到下一行
generateCombinations(result, temp, row + 1, 0);
return;
}
// 生成当前位置为true的组合
result[row][col] = true;
generateCombinations(result, temp, row, col + 1);
// 生成当前位置为false的组合
result[row][col] = false;
generateCombinations(result, temp, row, col + 1);
}
public static void main(String[] args) {
int N = 2; // 行数
int M = 3; // 列数
boolean[][] result = new boolean[N][M];
boolean[] temp = new boolean[M];
generateCombinations(result, temp, 0, 0);
}
}
上述代码中,generateCombinations
方法使用递归的方式生成布尔数组的每种可能组合。在每个位置上,分别尝试将其设置为true和false,然后递归到下一个位置。当递归到最后一行时,即生成了一种完整的组合,可以进行打印或其他操作。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云