Array-Konstruktor mit Illegal Constructor

stimmen
2

Für meine Konstruktor ist das, was ich da unten getan haben, und das ist der Code des Blocks ich bisher geschrieben habe, obwohl ich ziemlich sicher bin, es ist falsch, so wie kann ich den Konstruktor für dieses schreibe unten nach unten? Vielen Dank :)

Zu diesem Konstruktor muß ich das Gitter mit einer gegebenen Array initialisiert, und wenn das Array der Größe Null in jeder Dimension ist, habe ich eine Illegal zu werfen. Der Konstruktor sollte auch prüfen, ob die Grenze der Zelle gültig ist, und wenn nicht, ein Illegal werfen.

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);
Veröffentlicht am 20/10/2018 um 12:37
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Versuche dies:

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"); 
}
Beantwortet am 20/10/2018 um 12:45
quelle vom benutzer

stimmen
0

Klingt Konstruktor sollte die Dimensionen, nicht die Zellen selbst erhalten:

public Grid(int width, int height) {
    if (width <= 0 || height <= 0) {
        throw new IllegalArgumentException();
    }
    cells = new Cell[width][height];
}
Beantwortet am 20/10/2018 um 12:40
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more