java数组调用的问题

classChessboard{finalintBOARD_SIZE=22;String[][]board;publicvoidinitBoard(){board=new... class Chessboard{
final int BOARD_SIZE=22;
String[][] board;
public void initBoard(){
board=new String[BOARD_SIZE][BOARD_SIZE];
for(int i=0;i<BOARD_SIZE;i++){
for(int j=0;j<BOARD_SIZE;j++){
board[i][j]="十";
}
}
}
public void printboard(){
for(int i=0;i<BOARD_SIZE;i++){
for(int j=0;j<BOARD_SIZE;j++){
System.out.print(board[i][j]);
}
System.out.println();
}
}
public void setBoard(int posX,int posY,String chessman){
this.board[posX][posY]=chessman;
}
public String[][] getBoard(){
return this.board;
}
}
这个类里定义了一个数组,我在mian方法里调用了,并且改变了数值。然后我在另一个类里
Chessboard chessboard=new Chessboard();
String[][] board = chessboard.getBoard();
调用数组时发现是空的,用的话会报错。我想问一下我应该怎么在这个类里调用这个被改变过数值的数组。java初学,哪里形容的不太对请见谅。希望大神们帮帮忙,
展开
 我来答
千江月success
推荐于2016-01-09 · TA获得超过827个赞
知道小有建树答主
回答量:1031
采纳率:100%
帮助的人:927万
展开全部
public class Chessboard {
    final int BOARD_SIZE = 12;
    static String[][] board;

    public void initBoard() {
        board = new String[BOARD_SIZE][BOARD_SIZE];
        for (int i = 0; i < BOARD_SIZE; i++) {
            for (int j = 0; j < BOARD_SIZE; j++) {
                board[i][j] = "十";
            }
        }
    }

    public void printboard() {
        for (int i = 0; i < BOARD_SIZE; i++) {
            for (int j = 0; j < BOARD_SIZE; j++) {
                System.out.print(board[i][j]);
            }
            System.out.println();
        }
    }

    public void setBoard(int posX, int posY, String chessman) {
        this.board[posX][posY] = chessman;
    }

    public String[][] getBoard() {
        return this.board;
    }

    public static void main(String[] args) {
        Chessboard chessboard = new Chessboard();
        chessboard.initBoard();
        chessboard.printboard();
        System.out.println();
        chessboard.setBoard(1, 1, "田");
        chessboard.printboard();
        System.out.println();
        Chessboard chessboard2 = new Chessboard();
        chessboard2.printboard();
    }
}

使用static即可,为了调试方便,这里两个Chessboard放在了同一个main函数中,我估计你也不能同时运行两个main函数

更多追问追答
追问
还是报这个错了,,,应该怎么弄

Exception in thread "main" java.lang.NullPointerException
追答
不是说了么,你这个不能放在两个main函数中运行,一个main函数执行完了,生命周期什么的都结束了,无论什么变量都不会保存,你直接运行我那个程序就没有错误。
query999
2015-07-07 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:139
采纳率:100%
帮助的人:108万
展开全部
首先应该调用初始化方法initBoard()
Chessboard chessboard=new Chessboard();
chessboard.initBoard();
String[][] board = chessboard.getBoard();
或者把数组的初始化放到构造函数中去
追问
从新调用初始化函数。。那我在main里改变了的数值是不是在String[][] board = chessboard.getBoard();里就没了,变成了初始的数组了
追答
初始化之后随便设置呀
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式