Array Κατασκευαστής με IllegalArgumentException Κατασκευαστής

ψήφοι
2

Για κατασκευαστής μου, αυτό είναι ό, τι έχω κάνει κάτω από, και αυτός είναι ο κώδικας του μπλοκ που έχω γράψει μέχρι τώρα, ακόμη κι αν είμαι αρκετά σίγουρος ότι είναι λάθος, έτσι πώς μπορώ να γράψω τον κατασκευαστή για αυτό κάτω κάτω; Ευχαριστώ :)

Για αυτό τον κατασκευαστή έχω να αρχικοποιήσετε το δίκτυο με μια δεδομένη σειρά, και εάν η διάταξη είναι του μεγέθους μηδέν σε οποιαδήποτε διάσταση έχω να ρίξει ένα 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);
Δημοσιεύθηκε 20/10/2018 στις 12:37
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
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"); 
}
Απαντήθηκε 20/10/2018 στις 12:45
πηγή χρήστη

ψήφοι
0

Ακούγεται σαν κατασκευαστή σας πρέπει να λάβει τις διαστάσεις, όχι τα ίδια τα κύτταρα:

public Grid(int width, int height) {
    if (width <= 0 || height <= 0) {
        throw new IllegalArgumentException();
    }
    cells = new Cell[width][height];
}
Απαντήθηκε 20/10/2018 στις 12:40
πηγή χρήστη

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