ArrayQueue need HELP!

Status
Nicht offen für weitere Antworten.

Macagain

Mitglied
Hi,
ich bin neu hier im forum, totaler noob in java und brauche dringend hilfe!
ich soll ein stück code um folgende methoden erweitern:

1. public int peek()
- gibt das erste element aus dem ringpu ffer zuruck.

2. public int poll()
- löscht das erste element aus dem ringpuff er und gibt es zuruck.

3. public int size()
- gibt die anzahl der momentan im ringpuff er gespeicherten werte zurück.

4. public String toString()
- gibt den inhalt des puff ers als string zurück.
der string beginnt mit dem dem ältesten element und endet mit dem zuletzt eingefugten element.


code:

public class ArrayQueue {
private int[] elements;
private int first = 0;
private int end = 0; // position for next insertion
private boolean empty = true;
public ArrayQueue(int bufferSize) {
elements = new int[bufferSize];
}
public void offer(int newData) {
if (((end == first) && (!empty)) || (elements.length == 0)) {
System.out.println("Queue already full: " + newData + " not inserted.");
return;
}
elements[end] = newData;
++end; end %= elements.length;
empty = false;
}
public boolean isEmpty() {
return (first == end) && empty;
}

:bahnhof:

wie gesagt, ich brauche dringend hilfe!
es wäre toll, wenn mir jemand den code erweitern könnte.
 

Macagain

Mitglied
hab den code mit peek erweitert.

public int peek () {
System.out.println (elements [first]);
return first;
}

in der main steht:

ArrayQueue Test = new ArrayQueue (5);
Test.offer(12);
Test.offer(55);
Test.offer(4);
Test.offer(17);
Test.offer(5);


Test.peek();

weiß nicht mal, ob das so korrekt ist.

bei den anderen methoden nur :bahnhof:.

Mit anderen Worten:
ich weiß nicht, wie die methoden aussehen könnten.
es wäre schön, wenn mir jemand eine der anderen methoden schreiben könnte,
damit ich diese dann auf die übrigen transferieren kann.
 
Zuletzt bearbeitet:

Dragonfire

Bekanntes Mitglied
Transferieren oO?
Das habe ich ja noch nie gehört,
wenn du copy und paste meinst, dann ist das meistens schlechter Programmmierstil.

Ich würde dir empfehlen dir die Grundlagen in Java nochmal anzuschauen,
wenn jetzt hier einer die Lösung postet, wird dir das glaubig nicht helfen ...

Hast du vielleicht eine Idee was die Methoden umgangssprachlich machen sollen?

PS.:
Ich will dir zwar nichts unterstellen,
aber das sieht ein wenig wie eine Hausaufgabe aus,
liege ich da falsch?
 

Macagain

Mitglied
ja, da hast du recht.
der code ist ne hausaufgabe, die ich abgeben muss.
und ich denke schon, dass es mir helfen würde, wenn mir jemand die methode implementieren würde.
aber anscheinend ist hier nicht mit hilfe zu rechnen.
was die methode machen soll?

peek schaut auf den stapel
poll nimmt die erste zahl und löscht sie,
tostring ist ne anonyme klasse und soll wohl die queue ausgeben
und size gibt die anzahl der elemente zwischen den cursorn first und end an.
 
Zuletzt bearbeitet:

Landei

Top Contributor
Naja, peek hast du schon.

poll ist wie peek, nur dass du das first einen rauf setzen mußt
(nur aufpassen, wenn es das letzte Element im Array ist -> wieder bei 0 anfangen)

Bei size machst du am besten eine Fallunterscheidung (es geht eleganter, aber so ist es verständlicher)
Java:
public int size() {
   if (first <= end) {
     return end - first;
   } else {
     return end + elements.length - first;  
   }
}

Und die toString-Methode liest einfach alles in einen String (im wirklichen Leben wäre ein StringBuilder besser, aber es geht ja ums Prinzip), wobei man wieder auf den Überlauf achten muss:
Java:
public String toString() {
   String result = "";
   for(pos = first; pos != end; pos++) {
      if (pos >= elements.length) {
          //hmm, was nun?
      }
      result = //nächste Zahl (und ein Leerzeichen oder so) anhängen
   }
   return result;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D ArrayQueue - enqueue Methode Java Basics - Anfänger-Themen 2
A ArrayQueue mit Exceptions und Vererbung Java Basics - Anfänger-Themen 3
K need help doing Eratosthenes siev Java Basics - Anfänger-Themen 3
F Need Help mit String :/ Java Basics - Anfänger-Themen 8
N need help in panel Java Basics - Anfänger-Themen 8
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Erste Schritte Help with websocket protocol implementation Java Basics - Anfänger-Themen 5
Z User/passwort eingabe...Help! Java Basics - Anfänger-Themen 4
1 Mein erstes Programm, HELP!! Java Basics - Anfänger-Themen 2
E string.match[regex] - Help ! Java Basics - Anfänger-Themen 2
A Frame schließen!? Help! Java Basics - Anfänger-Themen 5
Screen Ein logischer Fehler im Code, Help pls Java Basics - Anfänger-Themen 6
S Help Java Basics - Anfänger-Themen 5
Developer_X !!!Help with Applets!!! PLEASE Java Basics - Anfänger-Themen 14
D ZweiWoerter.java HELP ! Java Basics - Anfänger-Themen 8
I Selection-Sort // Array *help* Java Basics - Anfänger-Themen 2
M Java Schleife Help plz! Java Basics - Anfänger-Themen 12
M Help! ActionEvent bei Button Klick Java Basics - Anfänger-Themen 9
R FileInputStream.read() != FileReader.read(). Pls Help Java Basics - Anfänger-Themen 5
D Wert muss sich pro sek ändern aber wie? HELP! Java Basics - Anfänger-Themen 9
T Help! Kann Bilder nach Packen in ein jar-File nimmer finden! Java Basics - Anfänger-Themen 17
N Finde Fehler nicht! Help plz! Java Basics - Anfänger-Themen 3
S call by reference vs. call by value - pls help Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben