Premium Partner

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;}