Teil 1 / Aufgabe 5
This commit is contained in:
parent
acb7881eb6
commit
949ad201d7
44
T01/Aufgabe05/ArrayQueue.java
Normal file
44
T01/Aufgabe05/ArrayQueue.java
Normal file
@ -0,0 +1,44 @@
|
||||
package T01.Aufgabe05;
|
||||
|
||||
/**
|
||||
* Class to represent a ArrayQueue (using an array).
|
||||
*/
|
||||
public class ArrayQueue {
|
||||
private Produkt queue[] = new Produkt[100];
|
||||
|
||||
/**
|
||||
* Method to add a product to the Queue.
|
||||
*
|
||||
* @param produkt The product to add.
|
||||
*/
|
||||
public void add(Produkt produkt) {
|
||||
for (int i = 0; i < this.queue.length; i++) {
|
||||
if (queue[i] == null) {
|
||||
int j = i;
|
||||
while (j > 0) {
|
||||
queue[j] = queue[j - 1];
|
||||
j--;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
queue[0] = produkt;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to take a product from the Queue.
|
||||
*
|
||||
* @return The product taken from the Queue.
|
||||
*/
|
||||
public Produkt take() {
|
||||
Produkt produkt = queue[0];
|
||||
|
||||
for (int i = 0; i < queue.length; i++) {
|
||||
if (queue[i] == null) {
|
||||
break;
|
||||
}
|
||||
queue[i] = queue[i + 1];
|
||||
}
|
||||
return produkt;
|
||||
}
|
||||
}
|
33
T01/Aufgabe05/Aufgabe05.java
Normal file
33
T01/Aufgabe05/Aufgabe05.java
Normal file
@ -0,0 +1,33 @@
|
||||
package T01.Aufgabe05;
|
||||
|
||||
/**
|
||||
* Teil 1 / Aufgabe 5
|
||||
*
|
||||
* @author Sebastian Brosch
|
||||
*/
|
||||
public class Aufgabe05 {
|
||||
public static void main(String[] args) {
|
||||
|
||||
System.out.println("\nQueue with Array:");
|
||||
|
||||
ArrayQueue queueA = new ArrayQueue();
|
||||
queueA.add(new Produkt(1, "Salz", 10.0, Regalnummer.Regal01));
|
||||
queueA.add(new Produkt(2, "Zucker", 15.0, Regalnummer.Regal02));
|
||||
queueA.add(new Produkt(3, "Mehl", 10.0, Regalnummer.Regal03));
|
||||
|
||||
queueA.take().print();
|
||||
queueA.take().print();
|
||||
queueA.take().print();
|
||||
|
||||
System.out.println("\nQueue with List:");
|
||||
|
||||
ListQueue queueB = new ListQueue();
|
||||
queueB.add(new Produkt(1, "Salz", 10.0, Regalnummer.Regal01));
|
||||
queueB.add(new Produkt(2, "Zucker", 15.0, Regalnummer.Regal02));
|
||||
queueB.add(new Produkt(3, "Mehl", 10.0, Regalnummer.Regal03));
|
||||
|
||||
queueB.take().print();
|
||||
queueB.take().print();
|
||||
queueB.take().print();
|
||||
}
|
||||
}
|
30
T01/Aufgabe05/ListQueue.java
Normal file
30
T01/Aufgabe05/ListQueue.java
Normal file
@ -0,0 +1,30 @@
|
||||
package T01.Aufgabe05;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Method to represent a Queue (using a List).
|
||||
*/
|
||||
public class ListQueue {
|
||||
ArrayList<Produkt> queue = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* Method to add a product to the Queue.
|
||||
*
|
||||
* @param produkt The product to add.
|
||||
*/
|
||||
public void add(Produkt produkt) {
|
||||
queue.add(0, produkt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to take a product from the Queue.
|
||||
*
|
||||
* @return The product taken from the Queue.
|
||||
*/
|
||||
public Produkt take() {
|
||||
Produkt produkt = queue.get(0);
|
||||
queue.remove(0);
|
||||
return produkt;
|
||||
}
|
||||
}
|
30
T01/Aufgabe05/Produkt.java
Normal file
30
T01/Aufgabe05/Produkt.java
Normal file
@ -0,0 +1,30 @@
|
||||
package T01.Aufgabe05;
|
||||
|
||||
/**
|
||||
* List with all available shelf numbers.
|
||||
*/
|
||||
enum Regalnummer {
|
||||
Regal01, Regal02, Regal03, Regal04, Regel05
|
||||
}
|
||||
|
||||
/**
|
||||
* Class to represent a Produkt.
|
||||
*/
|
||||
public class Produkt {
|
||||
int id;
|
||||
String name;
|
||||
double nettopreis;
|
||||
Regalnummer regal;
|
||||
|
||||
Produkt(int id, String name, double nettopreis, Regalnummer regal) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.nettopreis = nettopreis;
|
||||
this.regal = regal;
|
||||
}
|
||||
|
||||
void print() {
|
||||
System.out.printf("%d - %s: %.2f (%s)\n", this.id, this.name, this.nettopreis,
|
||||
this.regal.toString());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user