0

我正在创建一组方法,这些方法根据输入字符串显示一行棋盘,并将其存储在我稍后将调用的字符串中。我的代码如下:

public class A1Program {

    public void start() {
        String inputString = "XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO";
        int row = 1;
        int length = inputString.length();

    }

    private String extractRow(int row, String inputString) {
        String rowString1 = inputString.substring(row, row + 1);
        String rowString2 = inputString.substring(row + 6, row + 7);
        String rowString3 = inputString.substring(row + 12, row + 13);
        String rowString4 = inputString.substring(row + 18, row + 19);
        String rowString5 = inputString.substring(row + 24, row + 25);
        String rowString6 = inputString.substring(row + 30, row + 31);
        String rowString7 = inputString.substring(row + 36, row + 37);


        return rowString1 + "|" + rowString2 + "|" + rowString3 + "|" + rowString4 + "|" + rowString5
                + "|" + rowString6 + "|" + rowString7 + "|";

    }

    private void displayBoard(String extractRow) {
        System.out.println(extractRow + "-----------");
    }
}

当我运行代码时,什么都没有显示,但我希望它显示板的一行......(extractRow)。

4

4 回答 4

1

你永远不会调用 extractRow 和 displayBoard 方法。

在 start 方法中调用这些方法,您的代码将正常工作。

于 2012-08-21T10:39:17.893 回答
0

除了一旦你真正调用它后你的代码在行为上没有任何问题,你应该真正在一个循环中完成这项工作:

public static void main (String[] args) throws Exception {
  displayBoard(extractRow(0, "XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO"));
}
private static String extractRow(int row, String inputString) {
  final StringBuilder b = new StringBuilder();
  for (int i = 0; i < 37; i+=6) b.append(inputString.charAt(i)).append('|');
  return b.toString();
}
private static void displayBoard(String extractRow) {
  System.out.println(extractRow + "-----------");
}

这将打印与您的代码相同的内容:

X|X|X|X|X|X|X|-----------
于 2012-08-21T10:31:12.803 回答
0

试试这个代码,它可能会打印出一些东西。

public class A1Program {

    public void start() {
        String inputString = "XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO";
        int row = 1;
        int length = inputString.length();
        //check here
        displayBoard(extractRow(row, inputString));

    }

    private String extractRow(int row, String inputString) {
        String rowString1 = inputString.substring(row, row + 1);
        String rowString2 = inputString.substring(row + 6, row + 7);
        String rowString3 = inputString.substring(row + 12, row + 13);
        String rowString4 = inputString.substring(row + 18, row + 19);
        String rowString5 = inputString.substring(row + 24, row + 25);
        String rowString6 = inputString.substring(row + 30, row + 31);
        String rowString7 = inputString.substring(row + 36, row + 37);


        return rowString1 + "|" + rowString2 + "|" + rowString3 + "|" + rowString4 + "|" + rowString5
                + "|" + rowString6 + "|" + rowString7 + "|";

    }

    private void displayBoard(String extractRow) {
        System.out.println(extractRow + "-----------");
    }
}
于 2012-08-21T10:31:17.013 回答
0

公共类 A1Program {

private String extractRow(int row, String inputString) {
    String rowString1 = inputString.substring(row, row + 1);
    String rowString2 = inputString.substring(row + 6, row + 7);
    String rowString3 = inputString.substring(row + 12, row + 13);
    String rowString4 = inputString.substring(row + 18, row + 19);
    String rowString5 = inputString.substring(row + 24, row + 25);
    String rowString6 = inputString.substring(row + 30, row + 31);
    String rowString7 = inputString.substring(row + 36, row + 37);


    return rowString1 + "|" + rowString2 + "|" + rowString3 + "|" + rowString4 + "|" + rowString5
            + "|" + rowString6 + "|" + rowString7 + "|";

}

private void displayBoard(String extractRow) {
    System.out.println(extractRow + "-----------");
}

public static void main(String args[]){
    A1Program a = new A1Program();
    a.displayBoard(a.extractRow(0, "XOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXOXO"));
}

}

试试这个你会看到预期的结果

于 2012-08-21T10:39:22.340 回答