(letzte Änderung an dieser Seite: 17.10.2017)
Hier einige Hinweise zur Vorbereitung auf die Klassenarbeit.
Nur für den Fall, dass mir jemand unterstellt, die Methode size()
sei im Unterricht noch nie zur Sprache gekommen:
size()
behandelt wurde. Möglicherweise haben Sie die ausführlichen Lösungen zu diesen Übungen auch als Video betrachtet, bei 14:25 wird die size()-Methode verwendet (klick).size()
.
Das besprochene Projekt mit den Aufgaben finden Sie hier: 171008_GIROKONTOPROJEKT.zip
Die Lösungen sehen aus wie in diesem Textdokument (startklasse_mit_loesungen.txt) oder wie unten - bitte beachten Sie, dass ich das folgende Dokument ohne die Möglichkeit zu testen direkt hier reingeschrieben habe, es kann also schon sein, dass irgendwo eine Klammer o.ä. fehlt; geben Sie mir dann kurz per Mail Bescheid.
Da wir verschachtelte Schleifen weglassen wollten, habe ich für die Übung(en) 7 auch keine Lösung reingetippt.
Java-Code// 1) Lassen Sie sich für kb1 name, vorname, kreditlimit ausgeben. // Muss genau SO aussehen: // KB1: van Helsing, Dietmar - Kreditlimit: 10000.0 System.out.println("\t+++++++++++ Aufgabe 1 ++++++++++"); System.out.println("KB1: " + kb1.getName() + ", " + kb1.getVorname() + " - Kreditlimit: " + kb1.getKreditlimit()); // 2) Geben Sie eine Liste aller Kontoinhaber für Kundenbetreuer kb1 aus. // Muss genau SO aussehen: // Kundenbetreuer van Helsing betreut Kontoinhaber Metz (Kundennr.: 1) // Kundenbetreuer van Helsing betreut Kontoinhaber Bayazitoglu (Kundennr.: 2) System.out.println("\t+++++++++++ Aufgabe 2 ++++++++++"); for(Kontoinhaber k : kb1.getKunden()) { System.out.println("Kundenbetreuer " + kb1.getName() + " betreut Kontoinhaber " + k.getName() + " (Kundennr.: " + k.getKundennumer() + ")"); } // 3) Geben Sie für den Kundenbetreuer kb2 eine liste aller Kontoinhaber und ihrer Girokonten aus (Name, Kundenummer, Girokontonr, Kontostand). // Muss genau SO aussehen: //Kundenbetreuer Nr. 4, Knirschi van Dracula, betreut //- Maier (Kundenr. 3), Girokonto-Nr. 441 mit 43333.0 Euro. //- Huber (Kundenr. 4), Girokonto-Nr. 45551 mit 3123.0 Euro. //- Burger (Kundenr. 5), Girokonto-Nr. 566641 mit 12.0 Euro. System.out.println("\t+++++++++++ Aufgabe 3 ++++++++++"); System.out.println("Kundenbetreuer Nr. " + kb2.getMitarbeiternummer() + ", " + kb2.getVorname + " " + kb2.getName() + ", betreut"); for(Kontoinhaber z : kb2.getKunden()) { System.out.println("- " + z.getName() + "(Kundenr. " + z.getKundennumer() + "), Girokonto-Nr. " + z.getGirokonto().getKontonummer() + " mit " + z.getGirokonto().getKontostand() + " Euro."); } // 4) Geben Sie für das Girokonto 4 (gk4) eine Liste aller zugehörigen Darlehen aus. // Muss genau SO aussehen: // Girokonto Nr. 45551 hat folgende Darlehen zugeordnet: // Nr. 66555 8888.0 Euro 2 Jahre // Nr. 3332325 999999.0 Euro 7217 Jahre // Nr. 1555541 1006.0 Euro 833 Jahre // Nr. 312122 111.0 Euro 74 Jahre // verwenden Sie \t für die Tabstopps/Abstaende zwischen den "Spalten" System.out.println("\t+++++++++++ Aufgabe 4 ++++++++++"); System.out.println("Girokonto Nr. " + gk4.getKontonummer() + " hat folgende Darlehen zugeordnet:"); for(Darlehen dl : gk4.getDarlehen()) { System.out.println("Nr." + dl.getDarlehensnummer() + "\t" + d.getDarlehensbetrag() + "Euro\t" + dl.getLaufzeit() + " Jahre"); } // 5a) Berechnen Sie für das Girokonto 4 (gk4) die Summe aller Darlehensbetraege // Loesung: 1010004.0 // Tipp: lokale Variable summeDarlehensbetraege:double VOR der For-Schleife deklarieren System.out.println("\t+++++++++++ Aufgabe 5a ++++++++++"); double summeDarlehensbetraege = 0; for(Darlehen dl : gk4.getDarlehen()) { summeDarlehensbetraege = summeDarlehensbetraege + dl.getDarlehensbetrag(); } System.out.println("Summe aller Darlehen: " + summeDarlehensbetraege); // 5b) Berechnen Sie für das Girokonto 4 (gk4) den Durchschnitt aller Darlehensbetraege // Loesung: 252501.0 // Tipp: Gleiche Aufgabe wie 5a, aber den Endwert teilen durch die Anzahl der Elemente in der ArrayList (size() ) System.out.println("\t+++++++++++ Aufgabe 5b ++++++++++"); double summeDarlehensbetraege = 0; for(Darlehen dl : gk4.getDarlehen()) { summeDarlehensbetraege = summeDarlehensbetraege + dl.getDarlehensbetrag(); } System.out.println("Durchschnittshöhe aller Darlehen: " + summeDarlehensbetraege/gk4.getDarlehen().size()); // oder mit lokalen variablen: // int anzahlAllerDarlehen = gk4.getDarlehen().size()); // double schnitt = summeDarlehensbetraege/schnitt; // System.out.println("Durchschnittshöhe: " + schnitt + " Euro"); // 6a) Berechnen Sie fuer das Girokonto 4 (gk4), welches Darlehen die laengste Laufzeit hat. // Loesung: 7217 // Tipp: Deklarieren Sie vor der For-Schleife eine lokale Variable maximum. In der For-Schleife pruefen Sie fuer jedes Darlehen, // ob die Laufzeit groesser ist als maximum; wenn ja, erhaelt Maximum diesen Wert. // ACHTUNG: Das ist ein Mechanismus, den Sie sehr haeufig in Abiaufgaben finden (ebenso Durchschnittsberechnung wie in 5b) System.out.println("\t+++++++++++ Aufgabe 6a ++++++++++"); double laengsteLaufzeit = 0; for(Darlehen dl : gk4.getDarlehen()) { if(dl.getLaufzeit() > laengsteLaufzeit) { laengsteLaufzeit = dl.getLaufzeit(); } } System.out.println("Längste Laufzeit: "+ laengsteLaufzeit + " Jahre."); // 6b) wie 6a, geben Sie aber bitte noch die Darlehensnummer und den Namen des Kontoinhabers aus! // Muss genau SO aussehen: // Laengstes Darlehen: Nr. 3332325 mit 7217 Jahren, Kontoinhaber: Huber System.out.println("\t+++++++++++ Aufgabe 6b ++++++++++"); double laengsteLaufzeit = 0; int darlehensNr = 0; String darlehensNehmer = ""; for(Darlehen dl : gk4.getDarlehen()) { if(dl.getLaufzeit() > maximum){ laengsteLaufzeit = dl.getLaufzeit(); darlehensNr = dl.getDarlehensnummer(); darlehensNehmer = dl.getAbwicklungskonto().getKontoinhaber().getName(); } } System.out.println("Laengestes Darlehen: Nr. " + darlehensNr + " mit " + laengsteLaufzeit + " Jahren, Kontoinhaber: " + darlehensNehmer);
Wenn sie üben wollen, machen Sie doch eine beliebige Abi-Aufgabe (i.d.R. immer die erste Aufgabe des zweiten Aufgabenblockes).