Übungsaufgaben 20.September 2013

Aus ProgrammingWiki
Archivierte Version vom 2013-09-14T18:54:51+00:00. Aktuelle Version

Methoden

Aufgabe 1 Die harmonische Reihe ist definiert als unendliche Summe ∞ X k =1 1 k = 1 + 1 2 + 1 3 + 1 4 + . . . Implementieren Sie eine Methode, die die harmonische Reihe bis zu einer vorgegebenen Anzahl von Reihenglie- dern berechnet. Sie k ̈onnen Ihre Methode in diese Testumgebung einbetten: p u b l i c c l a s s H a r m o n i s c h e R e i h e { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { i n t n ; d o u b l e sum ; n = I n t e g e r . p a r s e I n t ( a r g s [ 0 ] ) ; / / M e t h o d e n a u f r u f / / sum = . . . . ; S ys tem . o u t . p r i n t l n ( sum ) ; } / / M e t h o d e n d e f i n i t i o n }

Referenzen und Arrays

Schreiben Sie eine Klasse, die zwei int-Arrays miteinander vergleicht:

class Arrays {
public boolean equals(int [] x, int [] y) { ...}
}

Schreiben Sie dazu ein Programm, das zunächst zwei int-Arrays a und b erzeugt. Das Array a soll mit Zahlen in aufsteigender Reihenfolge beginnend bei 1 initialisiert werden, das Array b mit Zahlen beginnend bei 100 in absteigender Reihenfolge. Erstellen Sie nun eine neues Array c, das eine Kopie des Arrays a darstellt. Erweitern Sie dazu die Klasse Arrays. Vergleichen Sie nun Array a mit Array b und Array a mit Array c.

Welche Auswirkungen hat es, wenn man die Referenzen der Arrays statt die Arrays selber vergleicht? Demonstrieren Sie dies mit einem kleinen Programm.

Objekte und Referenzen auf Objekte

Aufgabe 1

Gegeben Sei folgende Klasse:

class Circle {
protected int radius, posX, posY;
protected boolean filled;

public Circle(int rad, int x, int y, boolean filled) { ... } 
}

Erweitern Sie diese Klasse, um eine Methode zum Vergleichen von zwei Objekten der Klasse und um einen Konstruktor zur Erzeugung einer Kopie eines Objektes.

Schreiben Sie ein Testprogramm, das Objekte der Klasse Circle erzeugt, kopiert und vergleicht.

Aufgabe 2

Wie muss die Klasse Circle erweitert werden, wenn ein Attribut der Form protected int [] fillPattern; dazukommt?