1

CMDでTicTacToeゲームを作成するために、コマンドプロンプトボードで印刷可能なものを作成しようとしています。ただし、ボードとセルのクラスを作成すると、Java は print と println で次のようにエラーをスローします。

symbol: method println()  -or- method print() .etc...

location: class board

error: cannot find symbol

私のコードの問題は何ですか?ここに私の.javaファイル全体があります:

実行するのではなく、コンパイルするだけです

import acm.program.*;

public class board {

    private static final int ROWS=3;
    private static final int COLS=3;
    private int[][] board1 = new int[ROWS][COLS];


    //constructor
    public  board() {
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                board1[i][j]=0;
                printBoard();           
            }
        }
    }

    public void printBoard() {
        for(int row =0; row<ROWS; row++) {
            for (int col=0; col<COLS; col++) {
                printCell(board1[row][col]);
                if (col != (COLS-1)) {
                    print("|");   // print vertical partition
                }
            }
            println();
            if (row !=(ROWS-1)) {
                println("-----------");
            }
        }
        println();
    }

    public void printCell(int content) {
         if (content == 0)  {print("   ");}
    }

}

print() と println() を system.out に置き換えるだけでコンパイルされます。しかし、これは奇妙すぎる。ACM パッケージには、簡単にするために println() や print() などのメソッドが含まれています。しかし、今は修正されています。ありがとうございました。

編集 2: print() および println() でコンパイルするには、「パブリック クラス ボードがプログラムを拡張する」必要があります。「パブリック クラス ボード」だけではありません。

4

3 に答える 3

3

println()andprint()を置き換えてみてください

System.out.print();
System.out.println();

ACM を使用する場合は、クラスパスにファイルが必要であり、次のようにクラスでクラスをacm.jar拡張する必要があります。Programboardclass board extends Program{}

も参照してください

于 2014-02-07T03:30:58.057 に答える
1

修正されたコードは次のとおりです。

public class board {

    private static final int ROWS=3;
    private static final int COLS=3;
    private int[][] board1 = new int[ROWS][COLS];


    //constructor
    public  board() {
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                board1[i][j]=0;
                printBoard();           

            }
        }
    }


    public void printBoard(){
       for(int row =0; row<ROWS; row++){
           for (int col=0; col<COLS; col++){
               printCell(board1[row][col]);
               if (col != (COLS-1)) {
                   System.out.print("|");   // print vertical partition
               }
            }
           System.out.println("");
           if (row !=(ROWS-1)) {
               System.out.println("-----------");
           }
        }
    System.out.println();
    }


    public void printCell(int content) {
         if (content == 0)  {System.out.print("   ");}
    }
}

printステートメントの「System.out」への呼び出しがいくつかありませんでした。

于 2014-02-07T03:33:17.913 に答える