Seite 1 von 1

Frage zu Aufgabe 4 PDF Quiz

Verfasst: 18. Feb 2014 16:52
von Gast
Hallo,
in Aufgabenteil 4.a) steht, man solle ein Array von Produkt der Länge 4 erzeugen. Wie sollen da nun aber die in Aufgabenteil b erwähnten 8 Artikel gespeichert werden?
Es gilt doch
Produkt[] array = new Produkt[3];
array[0] = new Produkt(...);
array[1] = new Produkt(...);
array[2] = new Produkt(...);
array[3] = new Produkt(...);

oder mache ich einen Denkfehler?

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 18. Feb 2014 21:20
von m_flaig
Hallo,

wie in der Aufgabe beschrieben, soll sobald dass Array voll ist, eine Möglichkeit gefunden werden, weitere Artikel einzuspeichern.
Dazu gibt es mehrere Möglichkeiten, Sie haben die freie Wahl 8)

Viele Grüße,
Maximilian Flaig

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 1. Mär 2014 15:34
von Gast
In Aufgabe 4 b) wird unter "Hinweis" angemerkt, dass bei mehr als 8 Artikeln Probleme mit dem Array entstünden (bzw. man dieses erweitern muss). Aber ist das nicht schon bei 4 (unterschiedlichen) Produkten der Fall (dabei Annahme, dass das Array der Länge 4 aus dem Konstruktor aus Teil a) verwendet werden soll) ?

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 1. Mär 2014 15:36
von Gast
Gast hat geschrieben:In Aufgabe 4 b) wird unter "Hinweis" angemerkt, dass bei mehr als 8 Artikeln Probleme mit dem Array entstünden (bzw. man dieses erweitern muss). Aber ist das nicht schon bei 4 (unterschiedlichen) Produkten der Fall (dabei Annahme, dass das Array der Länge 4 aus dem Konstruktor aus Teil a) verwendet werden soll) ?
Verbesserung: mehr als 4

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 4. Mär 2014 11:27
von m_flaig
Danke für den Hinweis!
Eine neue Version ist online.

Viele Grüße,
Maxi Flaig

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 8. Mär 2014 16:58
von gats
hi, eine weitere Frage zu Aufgabe 4:

in der Aufgabenstellung wird gefordert die Methode printKassenbon() mit dem Rückgabetype String zu versehen, in der Musterlösung wird "void" verwendet.
Wäre das auch in der Prüfung legitim?

Danke und LG!

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 8. Mär 2014 17:29
von Gast
Ich denke nicht, dass es legitim wäre.
Die Aufgabenstellung fordert gezielt, dass ein String zurückgegeben werden muss.
Entweder ist es in der Aufgabenstellung ein Fehler oder soll der Überprüfung des Programms dienen, sofern du es am Computer ausprobieren möchtest.

LG

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 10. Mär 2014 12:05
von nevs
hallo,

könnte man die Aufg. 4 auch mit einem sehrsehr langen Arry lösen?
Manche der in der Musterlösung verwendeten Befehle sind in der Ai1 ja noch nicht eingeführt worden oder Klausurrelevant (z.Bb clone())

daher meine Frage, ob man das z.b auch so lösen könnte, in dem man die Array vorgaben erstmal ignoriert und es sehr lang wählt, so dass man als normaler "Einkäufer" das Volumen des Kassenautomaten nicht sprengt. und über eine For-Schleife das Array durchläuft, ist ein Objekt vorhanden, wird an paralleler Stelle im count Array der Wert um eins erhöht. ist ein Artikel noch nicht vorhanden, wird er am nächstren Freien Platz erstellt und parallel im count Array wird auf dem gleichem Index ein Wert =1 gesetzt.

Somit hätte ich auch den Kassenbon erstellen können, aber etwas variiert von der Musterlösung, dafür nur komponenten der Ai1 verwendet. Ist das so machbar hinsichtlich der Klausur am Mi? :roll:

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 10. Mär 2014 12:42
von rstyler
Ich würde deine Lösung nicht akzeptieren: Es ist extrem unsicher, da du nie weißt ob nicht doch ein Kunde mehr Artikel kauft, als du dir gedacht hast. Gut, falls du eine riesigen Array benutzt wird das wahrscheinlich nicht passieren, aber dann kommt Argument 2: Platzverschwendung!
Es geht doch auch einfach mit Mitteln der AI1:
  • 1. Erzeuge einen neue Artikelarray, der um eins länger ist als der alte (new)
    2. Kopiere alle alten Artikel aus der alten in die neue Liste (for)
    3. Schreibe den neuen Artikel in das letzte Element

Re: Frage zu Aufgabe 4 PDF Quiz

Verfasst: 10. Mär 2014 12:44
von rstyler
4. Ersetze den alten Array durch den neuen