Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 2D数组仍然为空_Java_Object_Multidimensional Array - Fatal编程技术网

Java 2D数组仍然为空

Java 2D数组仍然为空,java,object,multidimensional-array,Java,Object,Multidimensional Array,我在类板中有一个2D数组来承载Ship类型的对象。Board类的构造函数使用ship对象启动2D数组,但是当我签出它时,它仍然保持为空 public class Ship{ private int tons; // 1 element in 2d array public Ship(){ this.tons=1; } public Ship(int t){ this.tons=t; } public int

我在类板中有一个2D数组来承载Ship类型的对象。Board类的构造函数使用ship对象启动2D数组,但是当我签出它时,它仍然保持为空

public class Ship{

    private int tons; // 1 element in 2d array

    public Ship(){
        this.tons=1;
    }

     public Ship(int t){
        this.tons=t;
    }

    public int getTons(){
        return this.tons;
    }

     public void setTons(){
        this.tons = 1;
    }
}
import java.util.Random;
公共班级委员会{
私人战列舰[];
私有随机rnd=新随机();
公共委员会(){
//具有空值的安装板
战列舰[][]=新船[5][5];
//初始化
对于(int r=0;r<5;r++)
对于(int c=0;c<5;C++)
战列舰[r][c]=新船();
}
}

您在构造函数中声明了一个附加变量
战舰。使用已在类中定义的类成员变量

private Ship battleShip[][];//<------------- use this
私人战舰[]// 这样做:

public Board(){
      //setup board with null values
      Ship battleShip[][] = new Ship[5][5]; 
对类成员
战舰
进行阴影处理,并在类中保留为未初始化字段

public Board(){
  //setup board with null values
  battleShip = new Ship[5][5]; //<----------  now member variable is initialed

  // initialize
  for (int r=0; r < 5; r++ )
       for (int c=0; c < 5; c++ )
        battleShip[r][c]= new Ship();

}
public Board(){
      //setup board with null values
      Ship battleShip[][] = new Ship[5][5];