Home > Informatik > Einführung in die OOP > 4. Arrays > 4.5 Weitere Übungen

4.5 Weitere Übungen

Seite 1 - Seite 2 - Seite 3 - Seite 4 - Seite 5 - Seite 6

Übung 4.5 #1

Schreiben Sie eine Methode, die einen int-Array umkehrt.

Aus 2 - 4 - 1 - 8 - 12 - 7 würde dann beispielsweise 7- 12- 8- 1- 4- 2.

Die Methode muss ohne Hilfsarray funktionieren, es wird also direkt in dem Array umsortiert.

Übung 4.5 #2 (anspruchsvoll!)

Schreiben Sie eine Methode, die die am häufigsten vorkommende Zahl in einem int-Array (Zufallszahlen) zurück gibt.

Tipp 1: Sie brauchen in der Methode einen zweiten Array, der speichert, wie oft jede Zahl des int-Arrays vorkommt. Und dann müssen Sie nach der größten Zahl in diesem zweiten Array suchen!

Tipp 2: Der Haupt-Array kann durchaus viele Elemente enthalten, 100 oder mehr. Aber die Werte in diesem Array sollten nur zwischen 1 und 20 liegen, damit jeder Wert mehrmals vorkommt. Ansonsten bringt die Suche nach der am häufigsten vorkommenden Zahl nicht viel.

Objekt-Arrays

Übung 4.5 #3

Gegeben ist ein Array von Person-Objekten:

public class Person
{
    private static final int MIN_ALTER =   0;
    private static final int MAX_ALTER = 130;
    
    private int alter;
    
    public Person(int a)
    {
       setAlter(a);
    }
    
    public void setAlter(int alter)
    {
       if (alter < MIN_ALTER) this.alter = MIN_ALTER;
       else if (alter > MAX_ALTER) this.alter = MAX_ALTER; 
       else this.alter = alter;    
    }
    
    public int getAlter()
    {
       return alter;
    }
}

Schreiben Sie eine Methode, mit der das Durchschnittsalter aller Personen ermittelt werden kann, die in diesem Array gespeichert sind.

Übung 4.5 #4 (leicht)

Erstellen Sie eine Klasse Termin mit den Instanzvariablen

  • String beschreibung
  • int stunde

und den entsprechenden Setter-, Getter- und Anzeige-Methoden. Achten Sie bei der Stunde darauf, dass der Wert zwischen 0 und 23 liegt (in der Setter-Methode überprüfen und gegebenenfalls korrigieren).

Erstellen Sie dann einen Objekt-Array mit Termin-Objekten.

Schreiben Sie eine Methode, die mit dem System.out.println()-Befehl alle Termine auf die Konsole schreibt, die zwischen 9 und 13 Uhr liegen.

Übung 4.5 #5 (mittelschwer)

Gegeben ist ein Array von Termin-Objekten (wie in der vorherigen Übung). Schreiben Sie eine Methode, die überprüft, ob es Zeitkollisionen gibt – also ob zwei oder mehr Termine zur gleichen Uhrzeit stattfinden. Geben Sie alle Zeitpunkte mit Kollisionen und die betroffenen Termine aus.

Übung 4.5 #6 (sehr anspruchsvoll)

Erstellen Sie eine Klasse mit einem Array aus 100 Zufallszahlen im Bereich 1 bis 100. Schreiben Sie für diese Klasse eine Methode entferneDuplikate(), die Duplikate entfernt. Wenn also die Zahl 12 dreimal im Array vorkommt, bleibt die erste 12 stehen, aber die beiden folgenden Einträge der 12 werden gelöscht.

Benutzen Sie dafür die Methode delete(int index), die Sie schon einmal programmiert haben.

Fehlerquelle:

Wenn Sie die Laufvariable der Schleife direkt nach dem Löschen inkrementieren, wird die nächste Zahl im Array übersprungen! Die Laufvariable darf nur inkrementiert werden, wenn im aktuellen Schleifendurchgang nicht gelöscht wurde.

Seitenanfang