hi,
ich habe bei der aufgabe 2 und 3 große probleme wo es um arraylist und hashmap geht. es wäre schön wenn mir da jemand helfen könnte und vielleicht mal schauen kann ob die aufgaben 1 und 4 richtig sind.
Aufgabe 1 Artikelverwaltung
Das Interface Zaehlbar besteht aus der Methode int getAnzahl().
Die Klasse Getraenk hat die Attribute name (String), artikelnummer (long) und anzahl (int), außerdem einen allgemeinen Konstruktor.
(anzahl enthält die Anzahl der vorhandenen Einheiten eines Getränks)
Die Klasse Getraenk implementiert zusätzlich das Interface Zaehlbar.
Die Klasse Kuehlware hat die Attribute name (String), kuehltemperatur (int), und anzahl (int), außerdem einen allgemeinen Konstruktor. Die Klasse Kuehlware implementiert zusätzlich das Interface Zaehlbar.
Getraenk und Kuehlware sind in keinerlei Oberklassen/Unterklassen-Beziehung.
Konkrete Aufgabe:
Setzen Sie die Klassen Getraenk und Kuehlware als gegeben voraus (nicht implementieren).
a) Schreiben Sie das Interface Zaehlbar.
b) Schreiben Sie eine Testklasse mit einer main(): legen Sie einen Array an, der 6 Objekte der Klassen Getraenk oder Kuehlware aufnehmen kann, und füllen Sie den Array mit solchen Objekten.
c) Berechnen Sie die Anzahl der insgesamt vorhandenen Artikel (Getraenke und Kuehlwaren), die in den Objekten im angelegten Array enthalten sind, und geben sie die Summe auf die Standardausgabe aus (berücksichtigen Sie dabei auch den Sonderfall, dass ein Eintrag im Array null sein kann).
Lösung Aufgabe 1
a)
---------------------------------------------------------------------------------------------------------------
Aufgabe 2
1. Schreiben Sie eine Klasse Smartphone (u.a. name (String), preis (double), seriennummer (long)) mit Konstruktoren, und einer toString()-Methode.
2. Jedem neuen Objekt der Klasse Smartphone soll durch den Konstruktor eine eindeutige Seriennummer vergeben werden.
3. Alle Objekte der Klasse Smartphone sollen in einer ArrayList verwaltet werden, die Methode getAllSmartphones() liefert einen Array aller Smartphone -Objekte zurück, sortiert nach Seriennummer.
4. Schreiben Sie eine Klasse Test_Smartphone mit einer main(). Legen Sie der Reihe nach 5 Smartphones an.
Geben Sie in der main() alle Smartphones aus, sortiert nach Seriennummer.
Lösung Aufgabe 2
1.
----------------------------------------------------------------------------------------------------------------
Aufgabe 3
Implementieren Sie eine Klasse Notenverzeichnis mit den Attributen nameStudent_ref (String) und einer geeigneten Struktur (z.B. HashMap table_ref) um eine Tabelle mit Namen von Fächern (String) und zugehörige Noten (float) zu verwalten.
Realisieren Sie die Instanz-Methoden
void add(String fach_ref, float note) // einen Noteneintrag hinzufügen
float getNote (String fach_ref) // die Note eines Faches zurückgeben
float getNotendurchschnitt() // den Notendurchschnitt aller eingetra¬
// genen Noten zurückliefern
Lösung Aufgabe 3
------------------------------------------------------------------------------------------------------------
Aufgabe 4 – Streams
Schreiben Sie ein Programm, das von der Konsole (Standardeingabe) int-Werte einliest. Werte, die ohne Rest durch 5 teilbar sind, werden in eine Datei „werte.int“ im Format int geschrieben. Endekriterium ist die Eingabe von „fertig“.
Sie können davon ausgehen, dass auf der Konsole in einer Zeile jeweils nur ein korrekter int-Wert oder „fertig“ eingegeben wird.
(Fehlerbehandlung / Exception Handling ist nicht erforderlich, Exceptions können ignoriert werden).
Lösung Aufgabe 4
-----------------------------------------------------------------------------------------------------------
ich hoffe mir kann jemand helfen vorallem bei den aufgaben 2 und 3 weil da blick ich nicht viel.
ich habe bei der aufgabe 2 und 3 große probleme wo es um arraylist und hashmap geht. es wäre schön wenn mir da jemand helfen könnte und vielleicht mal schauen kann ob die aufgaben 1 und 4 richtig sind.
Aufgabe 1 Artikelverwaltung
Das Interface Zaehlbar besteht aus der Methode int getAnzahl().
Die Klasse Getraenk hat die Attribute name (String), artikelnummer (long) und anzahl (int), außerdem einen allgemeinen Konstruktor.
(anzahl enthält die Anzahl der vorhandenen Einheiten eines Getränks)
Die Klasse Getraenk implementiert zusätzlich das Interface Zaehlbar.
Die Klasse Kuehlware hat die Attribute name (String), kuehltemperatur (int), und anzahl (int), außerdem einen allgemeinen Konstruktor. Die Klasse Kuehlware implementiert zusätzlich das Interface Zaehlbar.
Getraenk und Kuehlware sind in keinerlei Oberklassen/Unterklassen-Beziehung.
Konkrete Aufgabe:
Setzen Sie die Klassen Getraenk und Kuehlware als gegeben voraus (nicht implementieren).
a) Schreiben Sie das Interface Zaehlbar.
b) Schreiben Sie eine Testklasse mit einer main(): legen Sie einen Array an, der 6 Objekte der Klassen Getraenk oder Kuehlware aufnehmen kann, und füllen Sie den Array mit solchen Objekten.
c) Berechnen Sie die Anzahl der insgesamt vorhandenen Artikel (Getraenke und Kuehlwaren), die in den Objekten im angelegten Array enthalten sind, und geben sie die Summe auf die Standardausgabe aus (berücksichtigen Sie dabei auch den Sonderfall, dass ein Eintrag im Array null sein kann).
Lösung Aufgabe 1
a)
Java:
public interface Zaeehlbar {
public int getAnzahl();
} // endinterface
b)
public class Testklasse {
public static void main (String [] args) {
Object [] o_ref = new Object [6];
o_ref[0] = new Getraenk();
o_ref[1] = new Getraenk();
o_ref[2] = new Kuehlware();
o_ref[3] = new Kuehlware();
o_ref[4] = new Getraenk();
o_ref[5] = new Kuehlware();
c)
int anzahl = 0;
for (int i = 0; i < o_ref.length; i++) {
if (o_ref[i] != null)
anzahl = anzahl + o_ref[i].getAnzahl();
} // endfor
System.our.println("Anzahl der Objekte: " + anzahl);
} // endmethod main
} // endclass
---------------------------------------------------------------------------------------------------------------
Aufgabe 2
1. Schreiben Sie eine Klasse Smartphone (u.a. name (String), preis (double), seriennummer (long)) mit Konstruktoren, und einer toString()-Methode.
2. Jedem neuen Objekt der Klasse Smartphone soll durch den Konstruktor eine eindeutige Seriennummer vergeben werden.
3. Alle Objekte der Klasse Smartphone sollen in einer ArrayList verwaltet werden, die Methode getAllSmartphones() liefert einen Array aller Smartphone -Objekte zurück, sortiert nach Seriennummer.
4. Schreiben Sie eine Klasse Test_Smartphone mit einer main(). Legen Sie der Reihe nach 5 Smartphones an.
Geben Sie in der main() alle Smartphones aus, sortiert nach Seriennummer.
Lösung Aufgabe 2
1.
Java:
public class Smartphone {
private String name;
private double preis;
private long seriennummer = 0;
public Smartphone() {
this(" ", 0.0);
} // endconstructor
public Smartphone(String name, double preis) {
this.name = name;
if (preis > 0.0)
this.preis = preis;
else
this.preis = 0.0;
2. seriennummer = seriennummer + 1;
} // endconstructor
public String toString() {
return name + "; " + preis + "; " + seriennummer;
} // endmethod toString
3.
ArrayList<Smartphone> liste_ref = new ArrayList<Smartphone>(0,1);
public Smartphone[] getAllSmartphones() {
----------------------------------------------------------------------------------------------------------------
Aufgabe 3
Implementieren Sie eine Klasse Notenverzeichnis mit den Attributen nameStudent_ref (String) und einer geeigneten Struktur (z.B. HashMap table_ref) um eine Tabelle mit Namen von Fächern (String) und zugehörige Noten (float) zu verwalten.
Realisieren Sie die Instanz-Methoden
void add(String fach_ref, float note) // einen Noteneintrag hinzufügen
float getNote (String fach_ref) // die Note eines Faches zurückgeben
float getNotendurchschnitt() // den Notendurchschnitt aller eingetra¬
// genen Noten zurückliefern
Lösung Aufgabe 3
Java:
public class Notenverzeichnis {
String nameStudent_ref;
HashMap table_ref = new HashMap(String, float);
public void add(String fach_ref, float note) {
table_ref.add(fach_ref, note);
} // endmethod
public float getNote (String fach_ref) {
return table_ref.get(fach_ref);
} // endmethod
} // endclass
------------------------------------------------------------------------------------------------------------
Aufgabe 4 – Streams
Schreiben Sie ein Programm, das von der Konsole (Standardeingabe) int-Werte einliest. Werte, die ohne Rest durch 5 teilbar sind, werden in eine Datei „werte.int“ im Format int geschrieben. Endekriterium ist die Eingabe von „fertig“.
Sie können davon ausgehen, dass auf der Konsole in einer Zeile jeweils nur ein korrekter int-Wert oder „fertig“ eingegeben wird.
(Fehlerbehandlung / Exception Handling ist nicht erforderlich, Exceptions können ignoriert werden).
Lösung Aufgabe 4
Java:
class Stream {
String eingabe;
int wert;
FileOutputStream fos_ref = null;
DataOutputStream dos_ref = null;
while (eingabe != "fertig") {
System.out.print("Wert eingeben: ");
eingabe = TerminalInput.readString();
if (wert == "fertig")
System.exit(-1);
else
wert = parseInt(eingabe);
if (wert % 5 = 0) {
fos_ref = new FileOutputStream("werte.int");
dos_ref = new DataOutputStream(fos_ref);
dos_ref.writeInteger(wert);
dos_ref.close();
fos_ref.close();
} // endif
} // endwhile
} // endclass
-----------------------------------------------------------------------------------------------------------
ich hoffe mir kann jemand helfen vorallem bei den aufgaben 2 und 3 weil da blick ich nicht viel.
Zuletzt bearbeitet von einem Moderator: