0

このプログラムのクラスを作成しようとしています。このクラスは、オブジェクトが移動するボードを作成します。ボードは、四隅に「+」、垂直に「-」、「|」が付いたボックスのように見えるはずです。中心を空にして水平に移動する:

+-----+
|     |
|     |
|     |
|     |
+-----+

一方、私は角かっこを水平に囲み、中央をコンマで埋めます。理由はわかりません。

[ , , , , ] 
[ , , , , ]
[ , , , , ] 
[ , , , , ] 
[ , , , , ] 

私のプログラムは正しいのですが、授業で助けが必要です。

import java.util.Arrays;
import java.util.Random;

public class Board {

    private char [][] theBoard;

    public Board() { 
        this(10, 25); 
    }


    public Board (int rows, int cols) {
        if (rows < 1 || rows>80) {
            rows = 1;
        }
        if (cols<1 || cols > 80) {
            cols = 1;
        }
        theBoard = new char [rows][cols];
        for (int row = 0; row < theBoard.length; row++) {
            for (int col = 0; col < theBoard[row].length; col++)
                theBoard[row][col] = ' ';
    }
    }

        public void clearBoard() {
        for (int row = 0; row < theBoard.length; row++ ) {
        for (int col = 0; col < theBoard[row].length; col++) {
      if (theBoard[row][col] < '0' || theBoard[row][col] > '9') {
      theBoard[row][col] = ' ';   
    }
    }
    }
    }

            public void setRowColumn(int row, int col, char character) {
           theBoard[row][col] = character;
        }

            public char getRowColumn(int row, int col) {
            return theBoard[row][col];
        }

        public String toString() {
    StringBuilder strb = new StringBuilder();
    for (char[] chars : theBoard) {
        strb.append(Arrays.toString(chars) + "\n");
    }
    return strb.toString();
    }
    public static void main(String [] args)
   {
      Board aBoard, anotherBoard;

      System.out.println("Testing default Constructor\n");
      System.out.println("10 x 25 empty board:");

      aBoard = new Board();
      System.out.println(aBoard.toString());

      System.out.println();

      // And, do it again
      System.out.println("Testing default Constructor again\n");
      System.out.println("10 x 25 empty board:");

      anotherBoard = new Board();
      System.out.println(anotherBoard.toString());

   } // end of method main
} // end of class 
4

1 に答える 1

2

デフォルトのコンストラクターは、配列を空のスペースで埋めます: ' '.

メソッドを呼び出すとArrays.toString()、開き括弧、配列の内容 (カンマ区切り)、閉じ括弧が出力されます。

たとえば、配列がある場合:

i  a[i]
0   1
1   2
3   5
4   8

呼び出すArrays.toString(a)と次のように出力されます。

[1, 2, 5, 8]

別の例として、空のスペースで満たされた配列がある場合、次のようになります。

[ ,  ,  ,  ,  , ]

(スペースが見えますか?)

これが、その出力を受け取っている理由です。

于 2012-12-06T02:14:25.673 に答える