2016-04-06 12 views
1

Bu sorunu tam olarak nasıl açıklayacağımı bilmiyorum, ancak oldukça hızlı bir şekilde düzeltilebilen çok basit bir hata yapıyorum. Ayrıca, bunun bir ekran görüntüsü olarak gösterilmesi daha kullanışlı olacağını düşündüm. İlk iki sekme benim arayüzüm ve hata yakalama sınıflarım. Kod kapsam dışı görünüyor, Nasıl düzeltilir? (Simple Queue-ADT programı)

Gördüğünüz gibi

yöntemler benim Kuyruk ADT kullanmak için kod kapsam dışında gibi görünüyor. Bu yüzden bu dersi tamamlayıp bitirebilirim, birisi bana neden kapsam dışı olduğunu açıklayabilir mi?

Yardımlarınız için teşekkürler!

+1

örneği ile aramak. – Berger

+3

Lütfen kodunuzu soruya bağlantılı bir resim değil metin olarak gönderin. –

cevap

2

Bu değişkenleri main yönteminde bildirirsiniz, bu nedenle yerel kapsam yalnızca main yerel kapsamı tanır. main kullanır beri Not I static olarak queuesize ilan

public class QueueProgram { 
    private static int queuesize = 10; 

    public static void main(String[] args) { 
    } 
} 

sınıf seviyesine beyanı taşıyın. Başka bir seçenek, örneğin değişken, `main` yöntemin yerel olmayan değişken olarak bu değişkenleri bildirmek getters ve setters oluşturmak ve QueueProgram

public class QueueProgram { 
    private int queuesize = 10; 

    public int getQueuesize() { 
     return queuesize; 
    } 

    public void setQueuesize(int size) { 
     queuesize = size; 
    } 

    public static void main(String[] args) { 
     QueueProgram program = new QueueProgram(); 
     program.getQueuesize(); // return 10; 
     program.setQueuesize(5); 
     program.getQueuesize(); // now it is 5; 
    } 
} 
+0

Yardım arkadaşın için teşekkürler: 3 – James