2016-11-12 5 views
0

Итак, меня попросили написать метод peek() для связанного списка на Java. Единственное, что объект, который я хочу «заглянуть», является частной переменной базы типов, которая существует в частном классе в моем классе LinkedList. Я хотел бы использовать мой метод peek(), чтобы вернуть объект и распечатать его. Я знаю, что это имеет какое-то отношение к доступу к частной переменной, но я не могу заставить ее работать с тем, что у меня есть. Вот фрагмент моего кода:Написание собственного метода peek() для моего собственного класса LinkedList в Java

class LinkedStack <Base> 
{ 
    private class Run 
    { 
     private Base object; 
     private Run next; 
     private Run (Base object, Run next) 
     { 
      this.object = object; 
      this.next = next; 
     } 
    } 
    ... 
    public Base peek() 
    { 
     if(isEmpty()) 
     { 
      throw new IllegalStateException("List is empty"); 
     } 
     return object; //this throws an error 
    } 
    ... 
    public void push(Base object) 
    { 
     top = new Run(object, top); 
    } 
} 
class Driver 
{ 
    public static void main(String []args) 
    { 
     LinkedStack<String> s = new LinkedStack<String>(); 
     s.push("A"); 

     System.out.println(s.peek()); 
    } 
} 

Заранее благодарим за любую помощь! Я очень ценю это.

+1

Как выглядит ваш метод push? Также, где вы вызываете run? Вы понимаете, что «Run» - это отдельный класс? – BlackHatSamurai

+0

@BlackHatSamurai Я знаю, что это класс, вложенный в другой класс. И я редактировал исходное сообщение, чтобы включить мой метод push. Top объявлен как объект Run. – awallace04

ответ

2

Вы должны просто вернуть переменную top. Я не вижу его инициализированным, но я предполагаю, что это переменная класса, так как вы не инициализируете его в методе push. Затем вы можете:

public Base peek() 
{ 
    if(isEmpty()) 
    { 
     throw new IllegalStateException("List is empty"); 
    } 
    return top.object; //this throws an error 
} 
+0

Ты блестящий! Большое спасибо! – awallace04

+0

Мое удовольствие! Рад, что смог помочь! – BlackHatSamurai