println出错:位置类,方法println()

时间:2014-02-07 03:23:30

标签: java class constructor acm-java-libraries

我试图在命令提示板上创建一个可打印的,以便设法在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("   ");}
    }

}

它只是通过用system.out替换print()和println()来编译。 但这太奇怪了。 ACM包中包含println()和print()等方法,以使其更容易。但现在它是固定的。谢谢。

编辑2:为了使用print()和println()进行编译,我需要:“公共类板扩展程序”而不仅仅是“公共类板”

3 个答案:

答案 0 :(得分:3)

尝试用

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

如果您想使用ACM,则必须在类路径中包含acm.jar文件,并且必须在Program类中扩展board课程,例如:class board extends Program{}

另见

答案 1 :(得分: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("   ");}
    }
}

你刚刚错过了一些打印语句的“System.out”调用。

答案 2 :(得分:0)

更改println()
System.out.print(); or   
System.out.println();

More