IT 2 – WS 2013/2014 – Übungsblatt 1 - 1

Werbung
IT 2 – WS 2013/2014 – Übungsblatt 1
Abgabe: 11.10.2013
Beispiel 1.1 [Triple.java]
Schreiben Sie eine public-Klasse Triple, die eine Implementierung der Methode
public boolean containsTriple(int[] a)
enthält. Diese Methode liefert true, wenn es eine Zahl gibt, die im übergebenen Array a genau
dreimal vorkommt.
Die Klasse Triple soll auch eine main-Methode enthalten, die mit geeigneten Aufrufen die
Methode containsTriple() überprüft.
Beispiel 1.2
Es sind folgende Klassen bzw. Interfaces definiert:
public interface IType {
public abstract boolean iMethod(int n);
}
public class OtherClass {
public OtherClass() {
...
}
public void otherMethod(IType obj) {
...
}
}
public class MyClass {
private int myN;
public MyClass(int n) {
myN = n;
}
public void myMethod(int n) {
MyClass obj = new MyClass(n);
(new OtherClass()).otherMethod(obj);
}
}
Welche Veränderungen in der Klasse MyClass sind notwendig, damit die Methode
myMethod() kompilierbar und ausführbar ist? Verändern Sie aber nicht die Methode
myMethod() oder eine der anderen Klassen!
-1-
IT 2 – WS 2013/2014 – Übungsblatt 1
Beispiel 1.3
Schreiben Sie eine Klasse LargestPossible, die eine Implementierung der Methode
int getBestFit(int[] a, int maxValue)
enthält. Diese Methode liefert die größte Zahl im Array a, die kleiner oder gleich maxValue
ist. Gibt es keine solche Zahl in a, liefert die Methode maxValue+1 zurück.
Die Klasse LargestPossible soll auch eine main-Methode enthalten, die mit geeigneten
Aufrufen die Methode getBestFit() überprüft.
Beispiel 1.4
Implementieren Sie eine gemeinsame public-Oberklasse Person der unten angegebenen
Klassen Student und Teacher, die die Gemeinsamkeiten dieser Klassen zusammenfasst.
Insbesondere soll die Klasse Person über Methoden
public String getName()
und
public String getAddress()
verfügen, die den Namen bzw. die Adresse der Person zurückliefern. Implementieren Sie auch
die Unterklassen Student und Teacher mit den notwendigen Modifikationen so, dass sich das
Verhalten dieser Klassen nicht ändert.
public class Student {
private String name, address, major;
public Student(String name, String major) {
this.name = name;
this.major = major;
address = null;
}
public void ausgeben() {
System.out.println(name);
System.out.println(address);
System.out.println("Field of study: " + major);
}
public void setAddress(String addresse);
{
this.address = address;
}
}
-2-
IT 2 – WS 2013/2014 – Übungsblatt 1
public class Teacher {
private String name, address, subject;
public Teacher(String name, String address,
String subjects) {
this.name = name;
this.address = address;
this.subjects = subjects;
}
public void gibAus() {
System.out.println(name);
System.out.println(address);
System.out.println("Teaches: " + subject);
}
}
Implementieren Sie in der Klasse Person auch eine main-Methode, die sowohl Student- wie
auch Teacher-Objekte erzeugt und die entsprechenden Methoden testet.
-3-
IT 2 – WS 2013/2014 – Übungsblatt 1
Beispiel 1.5 [Beschaffung.java]
Gegeben ist die folgende Klasse schrauben.Schraubenfabrik, mit den folgenden
Eigenschaften:
• Es gibt einen Konstruktor
Schraubenfabrik(double[] gewindegroessen),
wobei das Array gewindegroessen angibt, welche Gewindegrößen die Fabrik fertigen
kann.
• Es gibt eine Methode
double[] getGewindegroessen(),
die in einem Array die Gewindegrößen zurückliefert, die die Fabrik fertigen kann.
Implementieren Sie eine Klasse schrauben.Beschaffung mit einer Methode
Schraubenfabrik findLieferant(Schraubenfabrik[] lieferantenliste),
die jene Schraubenfabrik zurückliefert, die möglichst unterschiedliche Schrauben fertigen
kann, d.h. bei der der Unterschied zwischen kleinster und größter Gewindegröße maximal ist.
Beispiel 1.6 [Projekt.java]
Gegeben ist die folgende Klasse taetigkeiten.Taetigkeit mit den folgenden Eigenschaften:
• Es gibt einen Konstruktor
Taetigkeit(String name),
• eine Methode
boolean istErledigt(),
die true zurückliefert, wenn die Tätigkeit abgeschlossen ist,
• und die Methode
public String toString().
Implementieren Sie die Unterklasse taetigkeiten.Projekt von Taetigkeit mit dem Konstruktor
Projekt(String name, ArrayList<Taetigkeit> teilaufgaben),
wobei in teilaufgaben jene Tätigkeiten enthalten sind, die für den Abschluss des Projekts
notwendig sind.
Überschreiben Sie in der Klasse Projekt die Methode istErledigt() so, dass die Methode dann
true liefert, wenn alle Teilaufgaben erledigt sind.
Überschreiben Sie auch die Methode toString(), sodass zu dem von toString() in Taetigkeit
erzeugten String auch noch die Anzahl der Teilaufgaben mit einem vorangestellten
Doppelpunkt angefügt wird (z.B. "SW-Projekt:5").
-4-
Herunterladen