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

public class 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 に答える