簡體   English   中英

為什么不能將值分配給2D數組?

[英]Why can't I assign value to a 2D array?

請參見下圖:

在此處輸入圖片說明

如何修改語法,以便能夠將特定值分配給數組中的特定單元格?

您不能在類主體中分配值,除非您在初始化程序塊或構造函數中編寫它。 因此,如下所述寫在塊中或在構造函數中賦值。

public class Maze{

    private int maze[][] = new int[5][5];

    //Changing the value using initializer block
    {
        maze[1][1] = 1;
    }

    //Changing the value using constructor
    public Maze(){
        maze[1][1]=5;
    }

    public int[][] getMaze() {
        return maze;
    }

    public void setMaze(int[][] maze) {
        this.maze= maze;
    }

    public static void main(String args[]) {

        Maze maze = new Maze();
        int maze[][] = maze.getMaze();
        //Changing the value after creating object
        maze[1][2] = 5;
    }
}

一種簡單的賦值方法是使用Maze類編寫自定義方法,然后在您的main方法中使用它。 例如:

private void updateMaze(int val, int i, int j) {
   maze[i][j] = val;
}

根據使用情況,可以使用不同的訪問修飾符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM