2016-04-07 18 views
-2

Kapasite adı verilen bir int parametresini alan bir kurucu yazmak istiyorum (bir öncelik sıra sınıfı oluşturmaya çalışıyorum) ve kapasite parametresini yalnızca pozitif değerler olarak kilitlemeliyim. Yapıcı içinde bir satement varsa, kullanabilir miyim?Bir istisnayı yükseltmeksizin parametrelerinin alacağı değer aralığını kontrol etmek için bir kurucudaki if deyimini kullanabilir miyim?

public PriorityQueue(int capacity){ 
    this.capacity=capacity; 
    int[] array=new int[capacity]; 
} 
+0

Evet, yapabilirsin! <1. – user2004685

+3

almanız durumunda bir istisna atın. Yapabilirsin - ama Stack Overflow'u sormadan önce bunu kendiniz deneyebileceğinizi anlamak önemlidir. –

+0

Teşekkür ederim, ben bir şekilde tavsiye ederim. –

cevap

3

Eğer kuvvet sadece pozitif değerleri kullanmak için bu sınıfın kullanıcı olmak istiyorsanız, tek yol bir istisnadır. Aksi halde, nesne ne olursa olsun, inşa edilirdi.

public PriorityQueue(int capacity){ 
    if(capacity < 0) 
     throw new IllegalArgumentException("Negative value \"capacity\""); 
    this.capacity=capacity; 
    int[] array=new int[capacity]; 
} 
İlgili konular