蛇与梯子:在对话框中显示网格

时间:2017-07-10 16:39:31

标签: java

我正在编写一个Snakes and Ladders游戏,除了在消息对话框中显示网格的方法之外,我已经整理了大部分逻辑。

private static void generateGrid() {

    String[][] board = new String[][] {
        { "48", "47", "46", "45", "44", "43", "42" },
        { "35", "36", "37", "38", "39", "40", "41" },
        { "34", "33", "32", "31", "30", "29", "28" },
        { "21", "22", "23", "24", "25", "26", "27" },
        { "20", "19", "18", "17", "16", "15", "14" },
        { "7", "8", "9", "10", "11", "12", "13" },
        { "6", "5", "4", "3", "2", "1", "0" } };

    String grid = "";

    for (int x = 0; x < 7; x++) { // This counts the number of
                                                // rows

        for (int y = 0; y < 7; y++) { // This counts the number
                                                    // of columns

            if ((board[x][y] + "").length() == 1) {

                grid = grid + board[x][y] + "   \t";

            } else {

                grid = grid + board[x][y] + "   \t";

            }

            grid = grid + "\n";
        }

        JOptionPane.showMessageDialog(null, grid);      

    }
}

我希望消息对话框中显示的网格具有与数组中相同的布局,但是当我运行程序时,这是最终结果:

this is the end result

如何获取它以便在显示网格时,数字的顺序遵循数组中显示的布局?

1 个答案:

答案 0 :(得分:0)

您正在每个数字后执行语句private static void generateGrid() { String[][] board = new String[][] { { "48", "47", "46", "45", "44", "43", "42" }, { "35", "36", "37", "38", "39", "40", "41" }, { "34", "33", "32", "31", "30", "29", "28" }, { "21", "22", "23", "24", "25", "26", "27" }, { "20", "19", "18", "17", "16", "15", "14" }, { "7", "8", "9", "10", "11", "12", "13" }, { "6", "5", "4", "3", "2", "1", "0" } }; String grid = ""; for (int x = 0; x < 7; x++) { // This counts the number of // rows for (int y = 0; y < 7; y++) { // This counts the number // of columns if ((board[x][y] + "").length() == 1) { grid = grid + board[x][y] + " \t"; } else { grid = grid + board[x][y] + " \t"; } } grid = grid + "\n"; } JOptionPane.showMessageDialog(null, grid); } ,因此在数组的每个元素后添加一个新行。正确的代码如下所示:

a

要自己找到类似问题的解决方案,下次要么使用带调试器的IDE(如Eclipse或NetBeans)并单步执行代码,要么只需添加System.out.println()命令,这样就可以看到每一步的变量值。