Aufgaben zur Vorlesung
Aufgabe 1:
Schreiben Sie das obige Programm mit einen Texteditor ihrer
Wahl. Speichern Sie es als Hallo.java ab.
Übersetzen Sie es mit dem Java-Übersetzer javac. Es
entsteht eine Datei hallo.class. Führen Sie das Programm mit
dem Javainterpreter java aus.
Aufgabe 2:
Übersetzen Sie das Programm Minimal aus dem letzem
Abschnitt und versuchen Sie dieses Programm laufen zu lassen. Was für
eine Fehlermeldung bekommen Sie?
Aufgabe 3:
Testen Sie, was passiert, wenn Sie im obigen Programm die
Methode druckeDoppelt ohne konkreten Wert für den Parameter
aufrufen.
Aufgabe 4:
Schreiben Sie eine zusätzliche Methode in obiger Klasse. Die
Methode soll zwei Zahlen x und y als Parameter haben
und als Ergebnis $2*x+4*y$ berechnen.
Aufgabe 5:
Schreiben Sie eine Methode, die für eine ganze Zahl die
Fakultät dieser Zahl berechnet. Testen Sie die Methode zunächst mit
kleinen Zahlen, anschließend mit großen Zahlen. Was stellen Sie fest.
Aufgabe 6:
Schreiben Sie ein XML Dokument, daß nach den Regeln der
obigen DTD gebildet wird.
Aufgabe 7:
Schreiben Sie eine Klasse Person1, die eine Person
modelliert. eine Person soll einen Namen, einen Vornamen, eine Straße,
eine Hausnummer, eine Postleitzahl und einen Ort als Daten enthalten.
Aufgabe 8:
Schreiben Sie eine Klasse Person2, die zusätzlich
zu den Feldern aus ihrer Klasse Person1 noch einen
Konstruktor enthält, der die Felder der Klasse mit als Argumente
übergebenen Daten füllt.
Aufgabe 9:
Erzeugen Sie in einer Testklasse zwei Objekte des
Typs Person2.
Aufgabe 10:
Schreiben Sie ein kleines Testprogramm, daß Ihre
Klasse Person2 benutzt. Erzeugen Sie zwei Objekte des
Typs Person2. Geben Sie einige der Daten dieser Objekte auf
dem Bildschirm aus. Ändern Sie dann die Adresse einer der Personen und
geben Sie die neuen Daten dieser Person auf dem Bildschirm aus.
Aufgabe 11:
Schreiben Sie eine Klasse Person, indem Sie Ihre
Klasse Person2 um zwei Methoden erweitern.
- public String toString() soll für eine Person
einen String erzeugen, der den kompletten Namen und die
Adresse einer Person beschreibt.
- public void ändereAdresse(String neueStr, int neueHausnr) soll
die Adresse so ändern, daß die Person innerhalb einer Stadt in eine
andere Straße umgezogen ist.
Aufgabe 12:
Schreiben Sie eine Testklasse für Ihre
Klasse Person, so daß Sie die Methoden der
Klasse Person alle einmal aufgerufen haben.
Aufgabe 13:
Schreiben Sie ein kleines Testprogramm, das Objekte des
Typs Buchausleihe erzeugt und Methoden darauf anwendet.
Aufgabe 14:
Suchen Sie sich aus der Javadokumentation zur
Klasse String weitere Methoden heraus und schreiben Sie ein
Testprogramm, daß diese Methoden ausprobiert.
Aufgabe 15:
Schreiben Sie eine Klasse Student, die die
Klasse Person um ein weiteres
Feld matrikelNr erweitert.
Aufgabe 16:
Schreiben Sie eine Testklasse, in der Objekte des
Typs Student getestet werden.
Beispielaufgaben:
Aufgabe 1:
Die folgenden Dokumente sind kein wohlgeformetes XML. Begründen Sie, wo
der Fehler liegt, und wie dieser Fehler behoben werden kann.
-
a)
<a>to be <b> or not to be </a>
-
b)
<a> x + 1 > x </a>
-
c)
<a><dick>The world<kursiv> is</dick>
my </kursiv> oyster.</a>
Aufgabe 2:
Was geben die folgenden Javaprogramme auf dem Bildschirm aus,
wenn sie ausgeführt werden:
-
a)
class Aufgabe2a{
static int q(int x){
int result = x*x;
result = result*result;
return result;
}
static public void main(String[] args){
System.out.println(q(2));
System.out.println(q(3));
}
}
-
a)
class Aufgabe2b {
static void m1(String s){
for (int i =1; i<4;i=i+1){
System.out.println(s);
}
}
public static void main(String [] args){
m1("hallo");
m1("Illja");
}
}
Aufgabe 3:
Schreiben Sie das folgende Programm so um, daß es statt
einer for-Schleife eine while-Schleife benutzt.class Aufgabe3 {
static public int hochN(int i, int exp){
int result = 1;
for (int j=0; j < exp;j=j+1){
result = result*i;
}
return result;
}
}
Aufgabe 4:
Ergänzen Sie das untere Programm, indem Sie den fehlenden Programmtext
der Methode m gemäß der im Kommentar gegebenen Spezifikation
einfügen. class Aufgabe4 {
static int m(int x){
//m berechnet das vierfache des Eigabeparameters x.
}
}
Aufgabe 5:
Gegeben sind das folgende XML-Dokument:<?xml version="1.0" encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="person.xsl"?>
<person>
<name>Shakespeare</name>
<vorname>William</vorname>
</person>
und das darin referenzierte XSL Stylesheet person.xsl:<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html><head><title>Person</title></head>
<body><xsl:apply-templates/></body>
</html>
</xsl:template>
<xsl:template match="name">
<b><xsl:apply-templates/></b><br/>
</xsl:template>
<xsl:template match="vorname">
<em><xsl:apply-templates/></em>
</xsl:template>
</xsl:stylesheet>
Wie sieht der durch den XSLT-Prozessor aus diesen zwei Dateien
generierte HTML-Code aus.
Aufgabe 6:
Sie sollen ein Javaapplet schreiben, das auf einer Webseite
eingebunden ist. Immer, wenn jemand die Seite von der Website auf
seinem lokalen Rechner betrachtet, soll das Applet auf dem lokalen
Rechner eine Datei anlegen, in der Datum und Uhrzeit für die
Aktivierung des Applets geschrieben wird.
Warum können Sie ein solches Applet nicht realisieren?