You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何实现6*6棋盘随机填充8个K其余位置全部为L

代码修改方案

实现逻辑

  • 先将6*6棋盘的所有单元格默认填充为L
  • 循环生成随机行列坐标,仅当目标位置为L时将其改为K,直到成功填充8个K为止,从逻辑上保证K的数量精确符合要求
  • 原有棋盘打印逻辑无需调整

修改后完整代码

public class SimpsonsBoard {
    public static void main(String[] args) {
        String[][] board = new String[6][6];
        // 初始化所有单元格为L
        for(int i=0; i<board.length; i++) {
            for(int j=0; j<board[i].length; j++) {
                board[i][j] = String.valueOf('L');
            }
        }
        // 随机填充8个不重复的K
        int kAmount = 0;
        while (kAmount < 8) {
            int randomRow = (int)(Math.random() * 6);
            int randomCol = (int)(Math.random() * 6);
            if (board[randomRow][randomCol].equals("L")) {
                board[randomRow][randomCol] = String.valueOf('K');
                kAmount++;
            }
        }
        // 原有打印逻辑保留
        System.out.println(" ─────────────");
        System.out.println("│" + board[0][0] + "│" + board[0][1] + "│" + board[0][2] + "│" + board[0][3] + "│" + board[0][4] + "│" + board[0][5] + "│");
        System.out.println(" ─────────────");
        System.out.println("│" + board[1][0] + "│" + board[1][1] + "│" + board[1][2] + "│" + board[1][3] + "│" + board[1][4] + "│" + board[1][5] + "│");
        System.out.println(" ─────────────");
        System.out.println("│" + board[2][0] + "│" + board[2][1] + "│" + board[2][2] + "│" + board[2][3] + "│" + board[2][4] + "│" + board[2][5] + "│");
        System.out.println(" ─────────────");
        System.out.println("│" + board[3][0] + "│" + board[3][1] + "│" + board[3][2] + "│" + board[3][3] + "│" + board[3][4] + "│" + board[3][5] + "│");
        System.out.println(" ─────────────");
        System.out.println("│" + board[4][0] + "│" + board[4][1] + "│" + board[4][2] + "│" + board[4][3] + "│" + board[4][4] + "│" + board[4][5] + "│");
        System.out.println(" ─────────────");
        System.out.println("│" + board[5][0] + "│" + board[5][1] + "│" + board[5][2] + "│" + board[5][3] + "│" + board[5][4] + "│" + board[5][5] + "│");
        System.out.println(" ─────────────");
    }
}

该方案适配小规格棋盘时逻辑简单、运行效率足够。如果后续需要适配更大尺寸棋盘、更多K值的场景,可以改用洗牌算法生成所有坐标的打乱序列,取前N个坐标赋值K即可,避免随机坐标重复碰撞带来的性能损耗。

内容的提问来源于stack exchange,提问作者Vicente Mateu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:54:04