java - 字符串数组只调用一次方法

标签 java console-application

您好,我有一个控制台应用程序,我正在尝试创建游戏 Morris,但在 HashMap 中设置点后绘制 map 时遇到问题。我已经确认我的点的值正在改变,但由于某种原因,方法 v 没有被再次调用。

这是绘制我的数组的代码,对于我的字符串数组的可怕外观感到抱歉:

public abstract class BoardGeometry {
    // Een array van Strings waarmee je het bord kunt tekenen
public static String v(char c) {
    System.out.println(Board.boardHashMap.get(c).getValue());
    return Board.boardHashMap.get(c).getValue();
}

public final static String[] LAYOUT = {
        "" + v('A') + "-----------" + v('B') + "-----------" + v('C') + "       A-----------B-----------C",
        "|           |           |      |           |           |",
        "|   " + v('D') + "-------" + v('E') + "-------" + v('F') + "   |       |   D-------E-------F   |",
        "|   |       |       |   |      |   |       |       |   |",
        "|   |   " + v('G') + "---" + v('H') + "---" + v('I') + "   |   |       |   |   G---H---I   |   |",
        "|   |   |       |   |   |      |   |   |       |   |   |",
        "" + v('J') + "---" + v('K') + "---" + v('L') + "       " + v('M') + "---" + v('N') + "---" + v('O')
                + "     J---K---L       M---N---O",
        "|   |   |       |   |   |      |   |   |       |   |   |",
        "|   |   " + v('P') + "---" + v('Q') + "---" + v('R') + "   |   |       |   |   P---Q---R   |   |",
        "|   |       |       |   |      |   |       |       |   |",
        "|   " + v('S') + "-------" + v('T') + "-------" + v('U') + "   |       |   S-------T-------U   |",
        "|           |           |      |           |           |",
        "" + v('V') + "-----------" + v('W') + "-----------" + v('X') + "       V-----------W-----------X" };
}

这是我用来绘制它的代码:

public static void drawMap() {
    for (String s : BoardGeometry.LAYOUT) {
        System.out.println(s);
    }

}

所以通过放置

System.out.println(Board.boardHashMap.get(c).getValue());

并且使用 Debug模式,我已经确认它在运行时仅执行一次 v 方法,而不是每次我调用drawMap();

完全不知道为什么,我很抱歉,如果这是一个重复的问题,我真的不确定要搜索什么,并且我已经在这个问题上坚持了几个小时,直到我能够将其确定为这个。

最佳答案

问题是您只将一个值放入 LAYOUT 一次,并且该值是固定的。每次绘制 map 之前都需要重新计算 LAYOUT,否则它将保持相同的值( map )

关于java - 字符串数组只调用一次方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39529370/

相关文章:

c# - 为我没有设置为 null 的对象释放内存

c# - 在控制台应用程序中将范围 ({) 写入字符串

java - 用于匹配用户输入中的字符串文字的正则表达式问题

Java、GridLayout、JScrollPane 不工作

java - 将当前日期增加两天

java - 这是最适合 2 个离散池的 Java 集合

java - 如何实现阻塞线程池执行器?

delphi - 从多个来源捕获彩色控制台输出

c# - 如何在控制台应用程序 .NET Core (C#) 中制作打开文件对话框?

c++ - 如何在保持顺序的同时填充一个整数数组?