Hallo ich hoffe meine Überschrift beschreibt mein Problem zutreffend.
Für unsere Programmierübung sollen wir eine neue Klasse Lager ergänzend zu einer bereits vorhandenen Klasse Artikel schreiben.
Was bei mir für Verwirrung sorgt ist, dass in der Klasse Lager Arrays deklariert werden sollen welche dann mit Attributen aus der Klasse Artikel gefüllt werden sollen. Ist das möglich wenn ja wie?
Code für die Klasse Lager
Code der Klasse Artikel
Für unsere Programmierübung sollen wir eine neue Klasse Lager ergänzend zu einer bereits vorhandenen Klasse Artikel schreiben.
Was bei mir für Verwirrung sorgt ist, dass in der Klasse Lager Arrays deklariert werden sollen welche dann mit Attributen aus der Klasse Artikel gefüllt werden sollen. Ist das möglich wenn ja wie?
Code für die Klasse Lager
Code:
public class Lager
{
int maximalGroesse,i = 0;
final int MAXANZ = 10;
int[][] iFeld ;
String [] sFeld;
Scanner input = new Scanner(System.in);
/**
* Konstruktor für ein Feld mit selbst definierter Groesse
* @param max Ihre Eingabe für die vordefinierte Groesse
*/
public Lager (int max){
iFeld = new int[max][max];
sFeld = new String[max];
}
/**
* Kontruktor für ein Feld mit vordefinierter Groesse 10
*/
public Lager () {
iFeld = new int[MAXANZ][MAXANZ];
sFeld = new String[MAXANZ];
}
/**
* Befüllen des Feldes
*/
public void anlegen (){
}
}
Code der Klasse Artikel
Code:
public class Artikel extends Lager
{
/**
* Attribut Zuweisungen
*/
int artikelnr;
String artikelbez;
int artikelbestand;
double preis;
/**
* Ein Standardkonstruktor macht keinen Sinn, da es keinen Grund gibt Speicherplatz für ein nicht definiertes Objekt zu verbrauchen!
*/
/**
* Konstruktor für alle 3 Attribute
* Überprüfen ob Artikelnummer 4-stellig und positiv ist
* Überprüfen ob der Bezeichner einen Namen hat
* Überprüfen ob Bestand größer gleich 0 ist
* Überprüfen ob Preis größer gleich 0 ist
*/
public Artikel(int artikelnr, String artikelbez, int artikelbestand, double preis){
assert artikelnr >= 1000 && artikelnr < 10000 : "Artikelnummer muss 4-stellig und positiv sein!";
this.artikelnr = artikelnr;
assert artikelbez != null && artikelbez.length() > 0 : "Artikelbezeichnung darf nicht leer sein!";
this.artikelbez = artikelbez;
assert artikelbestand >= 0 : "Artikelbestand darf nicht negativ sein!";
this.artikelbestand = artikelbestand;
assert preis >= 0 : "Preis darf nicht negativ sein!";
this.preis = preis;
}
/**
* Zugang von neuer Ware, mit der Überprüfung ob die Eingabe größer als 0 ist
*/
public void zugang (int anzahl){
assert anzahl > 0 : "Anzahl muss größer als 0 sein!";
artikelbestand = artikelbestand + anzahl;
}
/**
* Abgang von neuer Ware, mit der Überprüfung ob die Eingabe größer als 0 ist.
* Überprüfung ob der Bestand negativ wird.
*/
public void abgang (int anzahl){
assert anzahl > 0 : "Anzahl muss größer als 0 sein!";
int artikelbestandTest = artikelbestand;
artikelbestandTest = artikelbestand - anzahl;
if (artikelbestandTest < 0) {
assert artikelbestandTest >= 0 : "Artikelbestand darf nicht negativ werden!";
} else {
artikelbestand = artikelbestandTest;
}
}
/**
* Set Methoden
*/
public void setArtikelBez(String artikelbez) {
assert artikelbestand >= 0 : "Artikelbestand darf nicht negativ sein!";
this.artikelbez = artikelbez;
}
/**
* Get Methoden
*/
public int getArtikelNummer() {
return artikelnr;
}
public String getArtikelBezeichner() {
return artikelbez;
}
public int getArtikelBestand() {
return artikelbestand;
}
public double getPreis() {
return preis;
}
/**
* Ausgabe des Artikels.
*/
public String toString() {
return "Artikel: " + artikelnr + ", Bezeichnung: " + artikelbez + ", Bestand: " + artikelbestand;
}
public void ausgabe() {
System.out.printf("Artikel: %d, Bezeichnung: %s, Bestand: %d %n",artikelnr, artikelbez, artikelbestand);
}
}