字符串数组只调用一次方法
String Array only calling method once
您好,我有一个控制台应用程序,我试图在其中创建游戏 Morris,但在哈希图中设置一个点后绘制地图时遇到问题。我已经确认我的观点的价值正在改变,但由于某种原因,方法 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());
并使用调试模式我已经确认它只通过 v 方法一次,而 运行 不是我每次调用 drawMap();
完全不知道为什么,我很抱歉,如果这是一个重复的问题,我真的不确定要搜索什么,我已经坚持了几个小时,直到我能够将其归结为这个。
问题是您只将一个值放入 LAYOUT 一次并且该值是固定的。每次绘制地图之前都需要重新计算 LAYOUT 否则它将保持相同的值(map)
您好,我有一个控制台应用程序,我试图在其中创建游戏 Morris,但在哈希图中设置一个点后绘制地图时遇到问题。我已经确认我的观点的价值正在改变,但由于某种原因,方法 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());
并使用调试模式我已经确认它只通过 v 方法一次,而 运行 不是我每次调用 drawMap();
完全不知道为什么,我很抱歉,如果这是一个重复的问题,我真的不确定要搜索什么,我已经坚持了几个小时,直到我能够将其归结为这个。
问题是您只将一个值放入 LAYOUT 一次并且该值是固定的。每次绘制地图之前都需要重新计算 LAYOUT 否则它将保持相同的值(map)