Hallo,
ich habe ein mehr oder weniger simples Konstruktor Problem.
Ich möchte Objekte einer Klasse X im Konstruktor einer zweiten Klasse Y initialisieren. Also die Objekte
werden in Klasse X erstellt und sollen dann mit den dort angegebenen Parametern in der Klasse Y übertragen werden.
Es geht um eine Ausgabe von Lagereigenschaften von Spirituosen (Menge/Name/Einkaufspreis/Lagerzeit)
In der zweiten Klasse soll dann noch die Steuer und Handelsspanne draufgerechnet werden...
So wie ich es zur Zeit habe, wird nur item2 ausgegeben:
Klasse 1:
Klasse 2:
Die Ausgabe ist der Zeit:
2 | Single Malt Whiskey | EK 22.1 Euro | VK 0.0 Euro | Lagerzeit: 12 Monate
2 | Single Malt Whiskey | EK 22.1 Euro | VK 0.0 Euro | Lagerzeit: 12 Monate
Mein Fehler liegt denke ich im Konstruktor und in der Main der 2. Klasse, ich weiß aber nicht was ich ändern soll, damit item1 und item2 in der Klasse item übernommen werden.
ich habe ein mehr oder weniger simples Konstruktor Problem.
Ich möchte Objekte einer Klasse X im Konstruktor einer zweiten Klasse Y initialisieren. Also die Objekte
werden in Klasse X erstellt und sollen dann mit den dort angegebenen Parametern in der Klasse Y übertragen werden.
Es geht um eine Ausgabe von Lagereigenschaften von Spirituosen (Menge/Name/Einkaufspreis/Lagerzeit)
In der zweiten Klasse soll dann noch die Steuer und Handelsspanne draufgerechnet werden...
So wie ich es zur Zeit habe, wird nur item2 ausgegeben:
Klasse 1:
Java:
public class ItemTester {
/**
* Constructor for objects of class ItemTester
*/
public ItemTester() {
Item item1 = new Item(1, "Jamaica Rum", 23.4, 20);
Item item2 = new Item(2, "Single Malt Whiskey", 22.1, 12);
System.out.println(item1);
System.out.println(item2);
Klasse 2:
Java:
public class Item {
// Variablen deklarieren
private static int itemNumber;
private static String name;
private static double purchasePrice;
private static int shelfLife;
private static double salePrice;
// Variablen initialisieren
public static double MARGIN_OF_PROFIT = 0.6;
public static double VAT = 0.19;
// Konstruktor
public Item(int itemNumber, String name, double purchasePrice, int shelfLife) {
Item.itemNumber = itemNumber;
Item.name = name;
Item.purchasePrice = purchasePrice;
Item.shelfLife = shelfLife;
}
private static double calculateSalePrice() {
salePrice = purchasePrice + (purchasePrice * MARGIN_OF_PROFIT)
+ (purchasePrice * VAT);
return salePrice;
}
public String toString() {
return ("" + itemNumber + " | " + name + " | EK " + purchasePrice
+ " Euro | VK " + salePrice + " Euro | Lagerzeit: " + shelfLife + " Monate");
}
public static void main(String[] args) {
ItemTester item1 = new ItemTester();
calculateSalePrice();
}
}
Die Ausgabe ist der Zeit:
2 | Single Malt Whiskey | EK 22.1 Euro | VK 0.0 Euro | Lagerzeit: 12 Monate
2 | Single Malt Whiskey | EK 22.1 Euro | VK 0.0 Euro | Lagerzeit: 12 Monate
Mein Fehler liegt denke ich im Konstruktor und in der Main der 2. Klasse, ich weiß aber nicht was ich ändern soll, damit item1 und item2 in der Klasse item übernommen werden.