具有IllegalArgumentException构造函数的数组构造函数

时间:2018-10-20 12:37:47

标签: java arrays constructor illegalargumentexception

对于我的构造函数,这是我在下面做的事情,这是我到目前为止编写的代码块,即使我非常确定这是错误的,那么我如何在下面写下这个代码呢? 谢谢:)

对于此构造函数,我必须使用给定的数组初始化网格,如果该数组在任何维度上的大小均为零,则必须抛出IllegalArgumentException。构造函数还应该检查单元的边界是否有效,如果无效,则抛出IllegalArgumentException。

public class Grid {

private Cell[][] cells;

public Grid(Cell[][] cells) {

    if(cells == 0) {
   } throw new IllegalArgumentException("Height or Width value is less than or equal to zero");

2 个答案:

答案 0 :(得分:0)

类似构造函数的声音应该接收尺寸,而不是单元格本身:

public Grid(int width, int height) {
    if (width <= 0 || height <= 0) {
        throw new IllegalArgumentException();
    }
    cells = new Cell[width][height];
}

答案 1 :(得分:0)

尝试一下:

if(cells != null && cells.length > 0) {        
     for(int i=0; i < cells.length; i++) {
          if(cells[i] == null || cells[i].length == 0) {
                throw new IllegalArgumentException("Width value is null or equal to zero"); 
          } 
     } 
} else {
     throw new IllegalArgumentException("Height value is null or equal to zero"); 
}