Hallo Java-Forum,
Ich arbeite grade an einer Aufgabe und habe bei folgender Aufgabe Probleme eine toString Methode bei einer HashMap anzuwenden.
Bei mir wird lediglich die Speicheradresse des Objekts ausgegeben.
eine weitere Frage habe ich bezüglich folgendem Teil der auf mich auf den ersten Blick irgendwie widersprüchlich erscheint:
In einem interface soll folgendes implementiert werden:
" Implementieren Sie eine Methode createSerial die eine ganzzahlige Seriennummer für Produkte generiert. Die erste Seriennummer ist 0 und soll bei jedem Aufruf um 1 erhöht werden. Beachten Sie das diese Nummern über das ganze Programm hinweg eindeutig sein müssen. "
Jedoch soll in einer Klasse dann die Seriennummer als Parameter übergeben werden wodurch sie ja nicht mehr eindeutig erzeugt werden könnte?
"Erstellen Sie einen Konstruktor der Seriennummer, Preis und Name als Parameter erhält. "
Ich hoffe mir kann jemand bei den beiden Problemen einen Typ geben
konsole:
edu.hm.cs.swe2.food.Cake@2f92e0f4
edu.hm.cs.swe2.food.Cake@2f92e0f4
Contents in Box: | edu.hm.cs.swe2.food.Cake@372f7a8d
Ich arbeite grade an einer Aufgabe und habe bei folgender Aufgabe Probleme eine toString Methode bei einer HashMap anzuwenden.
Bei mir wird lediglich die Speicheradresse des Objekts ausgegeben.
eine weitere Frage habe ich bezüglich folgendem Teil der auf mich auf den ersten Blick irgendwie widersprüchlich erscheint:
In einem interface soll folgendes implementiert werden:
" Implementieren Sie eine Methode createSerial die eine ganzzahlige Seriennummer für Produkte generiert. Die erste Seriennummer ist 0 und soll bei jedem Aufruf um 1 erhöht werden. Beachten Sie das diese Nummern über das ganze Programm hinweg eindeutig sein müssen. "
Jedoch soll in einer Klasse dann die Seriennummer als Parameter übergeben werden wodurch sie ja nicht mehr eindeutig erzeugt werden könnte?
"Erstellen Sie einen Konstruktor der Seriennummer, Preis und Name als Parameter erhält. "
Ich hoffe mir kann jemand bei den beiden Problemen einen Typ geben
Java:
package edu.hm.cs.swe2;
import edu.hm.cs.swe2.food.Cake;
import edu.hm.cs.swe2.food.Cake.Flavour;
import edu.hm.cs.swe2.products.Box;
public class Main {
public static void main(String[] args) {
Cake cake1 = new Cake(Flavour.STRAWBERRY, 4);
Cake cake2 = new Cake(Flavour.CHOCLATE, 7);
Box<Cake> box = new Box<Cake>(1, 1, "cakebox");
box.addFoods(cake1, cake2);
box.toString();
System.out.println(box);
}
}
Java:
package edu.hm.cs.swe2.food;
public class Cake extends Food {
private Flavour flavour;
public Cake(Flavour flavour, int weight) {
super(weight);
this.flavour = flavour;
}
public enum Flavour {
CHOCLATE("Cake Choclate"), VANILLA("Cake Vanilla"), STRAWBERRY("Cake Strawberry");
private final String name;
private Flavour(String name) {
this.name = name;
}
public String toString() {
return this.name;
}
}
}
Java:
package edu.hm.cs.swe2.products;
import java.util.HashSet;
import java.util.Iterator;
import edu.hm.cs.swe2.exceptions.NothingToAddException;
public class Box<T> extends Product implements Placeable {
public HashSet<T> content = new HashSet<T>();
public Box(int serialID, int price, String productName) {
super(serialID, price, productName);
this.content = new HashSet<T>();
}
@Override
public int getProductSerial() {
return this.getSerialID();
}
public void addFood(T food) throws NothingToAddException {
if (food == null) {
throw new NothingToAddException();
}
content.add(food);
}
public int addFoods(T... foodsToAdd) {
int foodsAdded = 0;
if (foodsToAdd.length >= 3) {
System.out.println("Too much Content. Nothing added.");
} else {
for (int i = 0; i < foodsToAdd.length; i++) {
try {
this.addFood(foodsToAdd[i]);
foodsAdded++;
} catch (NothingToAddException e) {
}
}
}
return foodsAdded;
}
public String toString() {
if (this.content.isEmpty()) {
return ("Contents in Box: Empty.");
} else {
Iterator<T> it = this.content.iterator();
String contentOfBox = ("Contents in Box: ");
while (it.hasNext()) {
contentOfBox += (" | " + it.next());
System.out.println(it.next());
}
return contentOfBox;
}
}
}
konsole:
edu.hm.cs.swe2.food.Cake@2f92e0f4
edu.hm.cs.swe2.food.Cake@2f92e0f4
Contents in Box: | edu.hm.cs.swe2.food.Cake@372f7a8d
Zuletzt bearbeitet: