Warteschlange (FIFO)

Status
Nicht offen für weitere Antworten.

Yoshi86

Mitglied
Moin allerseits...

wir hatten als aufgabe eine Warteschlangen implementierung...

soweit so gut... habens auch fast fertig...

hier der code

Java:
 public class Warteschlange {

  private Job[] warteschlange; 
  private int head; 
  private int rear; 
  
    private static final int MAX_LAENGE = 5; 

      public Warteschlange() {        
        warteschlange = new Job[MAX_LAENGE];
        head = rear = -1; 
      }

      
      public Warteschlange(int kapazitaet) {        
        warteschlange = new Job[kapazitaet];
        head = rear = -1; 
      }
  
// der compilier fehler tritt in den folgenden drei zeilen auf

      public Warteschlange(Warteschlange original) {        
        Warteschlange(original.length);
      }

            public boolean isEmpty() {        
              return head == rear;
            }

            public void makeEmpty() {        
              head = rear = -1; 
            }
          
            public boolean isFull() {        
              return head == -1 && rear == warteschlange.length-1; 
            }

      public void offer(Job job) {
    
          if(isFull()) {              
              System.out.println("Die Warteschlange ist voll.");
              System.exit(-1);
          }
    
              int f = head+1; 
                    
          if(rear == warteschlange.length-1) {      
              for(int i = f; i <= rear; i++)    
                warteschlange[i-f] = warteschlange[i]; 
                head = -1; 
                rear = rear-f+1; 
                warteschlange[rear] = job;
          }
    
          else {
      
            rear++;
            warteschlange[rear] = job;
          }
      }
    
    /** */
        public Job poll() {
        
          if(isEmpty())
            return null;
            head++;
            return warteschlange[head-1];
        }
        
        public Job peek() {
    
          if(isEmpty())         
            System.exit(-1);
            return warteschlange[head+1];
        }
 }

Das problem ist folgende ausgabe beim kompilieren

Warteschlange.java:30: cannot find symbol
symbol : variable length
location : class Warteschlange
Warteschlange(original.length);

muss ich da die variable initialisiren? hab ich schon versucht allerdings bekomme ich da einen ähnlichen fehler... danke schonmal im voraus
 

KrokoDiehl

Top Contributor
Müsste eher heißen
[JAVA=23]
Warteschlange(original.warteschlange.length);
[/code]
Das halte ich aber für unsauber. Füge lieber eine Methode
Code:
getLength()
in deine Warteschlange-Klasse ein.
 
Zuletzt bearbeitet:
B

bygones

Gast
Müsste eher heißen
[JAVA=23]
Warteschlange(original.warteschlange.length);
[/code]
Das halte ich aber für unsauber. Füge lieber eine Methode
Code:
getLength()
in deine Warteschlange-Klasse ein.

v.a.
Java:
public Warteschlange(Warteschlange original) {        
        this(original.length);
      }
wobei hier ja nur einen neue Warteschlange mit gleicher Laenge anlegt und nicht die beinhaltenden Elemente mituebernimmt
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben