Objektorientierte Programmierung OOP
KE6 Algorithmus und Datenstrukturen
KE6 Algorithmus und Datenstrukturen
Kartei Details
Karten | 106 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 15.01.2013 / 18.05.2022 |
Lizenzierung | Kein Urheberrechtsschutz (CC0) |
Weblink |
https://card2brain.ch/box/objektorientierte_programmierung_oop
|
Einbinden |
<iframe src="https://card2brain.ch/box/objektorientierte_programmierung_oop/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Implementieren Sie eine Methode boolean istEnthalten(String wert, String[] feld), die überprüft, ob die übergebene Zeichenkette im Feld enthalten ist. Was müssen Sie hierbei im Gegensatz zur Implementierung für Felder primitiver Typen beachten?
Die Elemente sollten nicht mit ==, sonder mit Hilfe der Methode equals() verglichen werden.
boolean istEnthalten(String wert, String[] feld) { if (feld == null) { return false; } for (String s : feld) { // Wert gefunden? if (s.equals(wert)) { return true; } } return false; }
Implementieren Sie eine Methode int bestimmeAnzahl(int wert, int[] feld), die zählt,
wie oft der übergebene Wert in dem Feld enthalten ist.
int bestimmeAnzahl(int wert, int[] feld) { if (feld == null) { return 0; } int anzahl = 0; for (int i : feld) { // Wert gefunden? if (i == wert) { anzahl++; } } return anzahl; }
Gegeben seien die folgenden Klassen
public class Kunde { // ... }
public class Rechnung {
private Kunde rechnungsempfaenger; // ...
public Kunde liefereRechnungsempfaenger() {
return this.rechnungsempfaenger;
}
public int bestimmeBetragInCent() {
// ...
}
// ...
}
public class Rechnungssammlung {
private Rechnung[] rechnungen;
// ...
}
Implementieren Sie eine Methode
int bestimmeGesamtbetragAllerRechnungenVon(Kunde k)
in der Klasse Rechnungssammlung, die die Summe aller Rechnungsbeträge dieses Kunden in Cent bestimmt.
int bestimmeGesamtbetragAllerRechnungenVon(Kunde k) { // wenn kein Kunde oder keine Rechnungen vorhanden if (k == null || rechnungen == null) { return 0; } int betrag = 0; // alle Rechnungen betrachten for (Rechnung r : rechnungen) { // wenn gesuchter Kunde if (r.liefereRechnungsempfaenger() == k) { // Betrag dazuaddieren betrag += r.bestimmeBetragInCent(); } } return betrag; }
Implementieren Sie eine Methode Rechnung findeTeuersteRechnung() in der Klasse Rechnungssammlung, die die Rechnung mit dem größten Betrag bestimmt.
Rechnung findeTeuersteRechnung() { // wenn keine Rechnungen vorhanden if (rechnungen == null) { return null; } Rechnung max = null; // alle Rechnungen betrachten for (Rechnung r : rechnungen) { // wenn noch kein Maximum gefunden // oder aktuelle Rechnung teurer if (max == null || max.bestimmeBetragInCent() < r.bestimmeBetragInCent()) { // Maximum anpassen max = r; } } return max;}